jQuery Updater - Version 3.5.0

Version Description

  • Updated jQuery to 3.5.0
  • Updater jQuery Migrate to 3.1.0
  • Added option page, without any options
  • Added an activation message
Download this release

Release Info

Developer Ramoonus
Plugin Icon wp plugin jQuery Updater
Version 3.5.0
Comparing to
See all releases

Code changes from version 3.4.1.3 to 3.5.0

jquery-updater.php CHANGED
@@ -1,56 +1,128 @@
1
  <?php
2
  /**
3
- * Plugin Name: jQuery Updater
4
- * Plugin URI: http://www.ramoonus.nl/wordpress/jquery-updater/
5
- * Description: This plugin updates jQuery to the latest stable version.
6
- * Version: 3.4.1.3
7
- * Author: Ramoonus
8
- * Author URI: http://www.ramoonus.nl/
9
- * License: GPL3
10
- * Text Domain: jquery-updater
11
- * Domain Path: /languages
12
- */
13
 
14
  /**
15
- * Replace jQuery with a newer version, load jQuery Migrate
16
- *
17
- * @version 3.4.1.3
18
- * @since 1.0.0
19
- */
 
20
  function rw_jquery_updater()
21
- {
 
 
 
 
 
 
 
22
 
23
- // jQuery
24
- // Deregister core jQuery
25
- wp_deregister_script('jquery');
26
- // Register
27
- wp_register_script('jquery', plugins_url('/js/jquery-3.4.1.min.js', __FILE__), false, '3.4.1');
28
 
29
  // jQuery Migrate
30
- // Deregister core jQuery Migrate
31
- wp_deregister_script('jquery-migrate');
32
- // Register
33
- wp_register_script('jquery-migrate', plugins_url('/js/jquery-migrate-3.0.0.min.js', __FILE__), array(
34
- 'jquery'
35
- ), '3.0.0'); // require jquery, as loaded above
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  }
 
37
 
38
  /**
39
- * Front-End
40
  */
41
- add_action('wp_enqueue_scripts', 'rw_jquery_updater');
42
- add_action('login_enqueue_scripts', 'rw_jquery_updater', 1); // since 3.4.0.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  /**
45
- * Load translation
46
  *
47
- * @since 2.2.0
48
- * @version 1.0
49
- *
50
  */
51
- function rw_load_plugin_textdomain()
52
- {
53
- load_plugin_textdomain('jquery-updater', FALSE, basename(dirname(__FILE__)) . '/languages/');
54
  }
 
 
 
 
 
 
 
 
 
 
55
 
56
- add_action('plugins_loaded', 'rw_load_plugin_textdomain');
 
 
 
 
 
 
1
  <?php
2
  /**
3
+ * Plugin Name: jQuery Updater
4
+ * Plugin URI: http://www.ramoonus.nl/wordpress/jquery-updater/
5
+ * Description: This plugin updates jQuery to the latest stable version.
6
+ * Version: 3.5.0
7
+ * Author: Ramoonus
8
+ * Author URI: http://www.ramoonus.nl/
9
+ * License: GPL3
10
+ * Text Domain: jquery-updater
11
+ * Domain Path: /languages
12
+ */
13
 
14
  /**
15
+ * Replace jQuery with a newer version, load jQuery Migrate
16
+ *
17
+ * @version 3.5.0
18
+ * @since 1.0.0
19
+ * @return void
20
+ */
21
  function rw_jquery_updater()
22
+ {
23
+ $ver = '3.5.0';
24
+ $ver_core = $ver;
25
+ $ver_migrate = '3.1.0';
26
+ $slim = false;
27
+ $min = true;
28
+ $cdn = false; // google, microsoft, cdnjs, jsdelivr
29
+
30
 
31
+ // jQuery Core
32
+ // Deregister jQuery core
33
+ wp_deregister_script( 'jquery-core' );
34
+ // Reregister jQuery core
35
+ wp_register_script( 'jquery-core', plugins_url( '/js/jquery-3.5.0.min.js', __FILE__ ), [], $ver_core );
36
 
37
  // jQuery Migrate
38
+ // Deregister jQuery Migrate
39
+ wp_deregister_script( 'jquery-migrate' );
40
+ // Reregister jQuery Migrate
41
+ wp_register_script( 'jquery-migrate', plugins_url( '/js/jquery-migrate-3.1.0.min.js', __FILE__ ), ['jquery-core'], $ver_migrate );
42
+
43
+ // jQuery
44
+ // Deregister jQuery ( Meta )
45
+ wp_deregister_script( 'jquery' );
46
+ // Reregister jQuery ( Meta )
47
+ wp_register_script( 'jquery', false, ['jquery-core', 'jquery-migrate'], $ver );
48
+ }
49
+
50
+ /**
51
+ * Front-End
52
+ * @version 2.1
53
+ */
54
+ add_action( 'wp_enqueue_scripts', 'rw_jquery_updater', 1 );
55
+ add_action( 'login_enqueue_scripts', 'rw_jquery_updater', 1 );
56
+ // since 3.4.0.1
57
+
58
+ /**
59
+ * Load translation
60
+ *
61
+ * @since 2.2.0
62
+ * @version 1.0.0
63
+ *
64
+ */
65
+ function rw_load_plugin_textdomain()
66
+ {
67
+ load_plugin_textdomain( 'jquery-updater', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
68
  }
69
+ add_action( 'plugins_loaded', 'rw_load_plugin_textdomain' );
70
 
71
  /**
72
+ * Activation Message
73
  */
74
+ register_activation_hook( __FILE__, 'jqu_admin_notice_activation_hook' );
75
+
76
+ function jqu_admin_notice_activation_hook() {
77
+ // does things upon activation
78
+ set_transient( 'jqu_admin_notice', true, 5 );
79
+
80
+ // @todo flush cache
81
+ }
82
+
83
+ add_action( 'admin_notices', 'jqu_admin_notice_message' );
84
+
85
+ function jqu_admin_notice_message(){
86
+
87
+ /* Check transient, if available display notice */
88
+ if( get_transient( 'jqu_admin_notice' ) ){
89
+ ?>
90
+ <div class="updated notice is-dismissible">
91
+ <p>jQuery Updater has been <strong>enabled</strong>.
92
+ <br>Please flush your browser and server cache</p>
93
+ </div>
94
+ <?php
95
+ /* Delete transient, only display this notice once. */
96
+ delete_transient( 'jqu_admin_notice' );
97
+ }
98
+ }
99
 
100
  /**
101
+ * Options Page
102
  *
103
+ * @version 1.0.0
104
+ * @since 3.5.0
105
+ * @return void
106
  */
107
+ // Calls Menu
108
+ function jqu_add_settings_page() {
109
+ add_options_page( 'jQuery Updater Options', 'jQuery Updater', 'manage_options', 'jquery-updater', 'jqu_render_plugin_settings_page' );
110
  }
111
+ add_action( 'admin_menu', 'jqu_add_settings_page' );
112
+
113
+ // Draws page
114
+ function jqu_render_plugin_settings_page() {
115
+ ?>
116
+ <h2>jQuery Updater Options</h2>
117
+ <form action="options.php" method="post">
118
+ <?php
119
+ settings_fields( 'jqu_options' );
120
+ do_settings_sections( 'dbi_example_plugin' ); ?>
121
 
122
+ <p>jQuery Updated is succesfully installed and activated.
123
+ <br>Now running jQuery 3.5.0</p>
124
+
125
+ <input name="submit" class="button button-primary" type="submit" value="<?php esc_attr_e( 'Save' ); ?>" disabled />
126
+ </form>
127
+ <?php
128
+ }
js/jquery-3.4.1.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
2
- !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
 
 
js/jquery-3.4.1.slim.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! jQuery v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
2
- !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],v=g.document,r=Object.getPrototypeOf,s=t.slice,y=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,m=n.hasOwnProperty,a=m.toString,l=a.call(Object),b={},x=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},w=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)},d=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function p(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!x(e)&&!w(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||x(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=m.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){C(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(d,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return y.apply([],a)},guid:1,support:b}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,N="sizzle"+1*new Date,m=n.document,A=0,r=0,d=ue(),b=ue(),k=ue(),S=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",$=new RegExp(R+"+","g"),F=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&((e?e.ownerDocument||e:m)!==T&&C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!S[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=N),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+be(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){S(t,!0)}finally{s===N&&e.removeAttribute("id")}}}return g(t.replace(F,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[N]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),m!==T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=N,!T.getElementsByName||!T.getElementsByName(N).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+N+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+N+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument===m&&y(m,e)?-1:t===T||t.ownerDocument===m&&y(m,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===T?-1:t===T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==T&&C(e),p.matchesSelector&&E&&!S[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){S(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=d[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&d(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[A,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===A&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[N]||(a[N]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[A,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[N]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(F,"$1"));return s[N]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[A,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[N]||(e[N]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===A&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[N]&&(v=Te(v)),y&&!y[N]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[N]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(F,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(F," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=k[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[N]?i.push(a):o.push(a);(a=k(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=A+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t===T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument===T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(A=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(A=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=N.split("").sort(D).join("")===N,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=h,E.expr=h.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=h.uniqueSort,E.text=h.getText,E.isXMLDoc=h.isXML,E.contains=h.contains,E.escapeSelector=h.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,n,r){return x(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),D.test(r[1])&&E.isPlainObject(t))for(r in t)x(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):x(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,j=E(v);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(P[r]||E.uniqueSort(n),O.test(r)&&n.reverse()),this.pushStack(n)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){return e}function B(e){throw e}function M(e,t,n,r){var i;try{e&&x(i=e.promise)?i.call(e).done(t).fail(n):e&&x(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(I)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){x(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=x(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&x(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,x(t)?s?t.call(e,l(u,o,R,s),l(u,o,B,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,B,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==B&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,x(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,x(t)?t:R)),o[2][3].add(l(0,e,x(n)?n:B))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(M(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||x(i[t]&&i[t].then)))return o.then();while(t--)M(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&W.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var $=E.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return $.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||$.resolveWith(v,[E])}}),E.ready.then=$.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?g.setTimeout(E.ready):(v.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)z(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,x(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(U,V)}var Q=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=E.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Q(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var G=new Y,K=new Y,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}K.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return K.hasData(e)||G.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=K.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),ee(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){K.set(this,n)}):z(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=K.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){K.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:E.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=v.documentElement,oe=function(e){return E.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===E.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};var le={};function ce(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=G.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=le[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),le[s]=u)))):"none"!==n&&(l[c]="none",G.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?E(this).show():E(this).hide()})}});var fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i,he={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}he.optgroup=he.option,he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td;var ye,me,be=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}ye=v.createDocumentFragment().appendChild(v.createElement("div")),(me=v.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),ye.appendChild(me),b.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="<textarea>x</textarea>",b.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function Ae(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(G.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=G.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),G.set(this,i,r),t=o(this,i),this[i](),r!==(n=G.get(this,i))||t?G.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(G.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,i)&&E.event.add(e,i,Ee)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(ie,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(I)||[""]).length;while(l--)p=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(p=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=E.event.fix(e),u=new Array(arguments.length),l=(G.get(this,"events")||{})[s.type]||[],c=E.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=E.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:x(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click",Ee),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&G.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Se(this,e,Ae),!1},trigger:function(){return Se(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){E.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Le=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ie(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(G.hasData(e)&&(o=G.access(e),a=G.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)E.event.add(t,i,l[i][n]);K.hasData(e)&&(s=K.access(e),u=E.extend({},s),K.set(t,u))}}function Re(n,r,i,o){r=y.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=x(p);if(h||1<f&&"string"==typeof p&&!b.checkClone&&je.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Re(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),Pe)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,He),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!G.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):C(u.textContent.replace(qe,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&oe(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(b.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Ie(o[r],a[r]);else Ie(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return z(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Le.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Re(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),We=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},$e=new RegExp(re.join("|"),"i");function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||We(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=E.style(e,t)),!b.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=g.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=v.createElement("div"),u=v.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===u.style.backgroundClip,E.extend(b,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var _e=["Webkit","Moz","ms"],Ue=v.createElement("div").style,Ve={};function Xe(e){var t=E.cssProps[e]||Ve[e];return t||(e in Ue?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in Ue)return e}(e)||e)}var Qe,Ye,Ge=/^(none|table(?!-c[ea]).+)/,Ke=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ze={letterSpacing:"0",fontWeight:"400"};function et(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function tt(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+re[a]+"Width",!0,i))):(u+=E.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=E.css(e,"border"+re[a]+"Width",!0,i):s+=E.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function nt(e,t,n){var r=We(e),i=(!b.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Fe(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!b.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+tt(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ke.test(t),l=e.style;if(u||(t=Xe(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&ne.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),b.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ke.test(t)||(t=Xe(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ze&&(i=Ze[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?nt(e,u,n):ue(e,Je,function(){return nt(e,u,n)})},set:function(e,t,n){var r,i=We(e),o=!b.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?tt(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-tt(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),et(0,t,s)}}}),E.cssHooks.marginLeft=ze(b.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=et)}),E.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Qe=v.createElement("input"),Ye=v.createElement("select").appendChild(v.createElement("option")),Qe.type="checkbox",b.checkOn=""!==Qe.value,b.optSelected=Ye.selected,(Qe=v.createElement("input")).value="t",Qe.type="radio",b.radioValue="t"===Qe.value;var rt,it=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return z(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?rt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!b.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),rt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=it[t]||E.find.attr;it[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=it[o],it[o]=r,r=null!=a(e,t,n)?o:null,it[o]=i),r}});var ot=/^(?:input|select|textarea|button)$/i,at=/^(?:a|area)$/i;function st(e){return(e.match(I)||[]).join(" ")}function ut(e){return e.getAttribute&&e.getAttribute("class")||""}function lt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}E.fn.extend({prop:function(e,t){return z(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ot.test(e.nodeName)||at.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),b.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).addClass(t.call(this,e,ut(this)))});if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(x(t))return this.each(function(e){E(this).removeClass(t.call(this,e,ut(this)))});if(!arguments.length)return this.attr("class","");if((e=lt(t)).length)while(n=this[u++])if(i=ut(n),r=1===n.nodeType&&" "+st(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=st(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):x(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,ut(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=lt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=ut(this))&&G.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+st(ut(n))+" ").indexOf(t))return!0;return!1}});var ct=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=x(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ct,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:st(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},b.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),b.focusin="onfocusin"in g;var ft=/^(?:focusinfocus|focusoutblur)$/,dt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||v],p=m.call(e,"type")?e.type:e,h=m.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||v,3!==n.nodeType&&8!==n.nodeType&&!ft.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!w(n)){for(s=c.delegateType||p,ft.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||v)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(G.get(o,"events")||{})[e.type]&&G.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&Q(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!Q(n)||u&&x(n[p])&&!w(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,dt),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,dt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),b.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=G.access(e,r);t||e.addEventListener(n,i,!0),G.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=G.access(e,r)-1;t?G.access(e,r,t):(e.removeEventListener(n,i,!0),G.remove(e,r))}}});var pt,ht=/\[\]$/,gt=/\r?\n/g,vt=/^(?:submit|button|image|reset|file)$/i,yt=/^(?:input|select|textarea|keygen)/i;function mt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||ht.test(n)?i(n,t):mt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)mt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=x(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)mt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&yt.test(this.nodeName)&&!vt.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(gt,"\r\n")}}):{name:t.name,value:n.replace(gt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(x(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return x(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=x(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.createHTMLDocument=((pt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===pt.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(b.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),x(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||ie})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return z(this,function(e,t,n){var r;if(w(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=ze(b.pixelPosition,function(e,t){if(t)return t=Fe(e,n),Me.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return z(this,function(e,t,n){var r;return w(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),E.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),x(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=x,E.isWindow=w,E.camelCase=X,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var bt=g.jQuery,xt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=xt),e&&g.jQuery===E&&(g.jQuery=bt),E},e||(g.jQuery=g.$=E),E});
 
 
js/{jquery-3.4.1.js → jquery-3.5.0.js} RENAMED
@@ -1,5 +1,5 @@
1
  /*!
2
- * jQuery JavaScript Library v3.4.1
3
  * https://jquery.com/
4
  *
5
  * Includes Sizzle.js
@@ -9,7 +9,7 @@
9
  * Released under the MIT license
10
  * https://jquery.org/license
11
  *
12
- * Date: 2019-05-01T21:04Z
13
  */
14
  ( function( global, factory ) {
15
 
@@ -47,13 +47,16 @@
47
 
48
  var arr = [];
49
 
50
- var document = window.document;
51
-
52
  var getProto = Object.getPrototypeOf;
53
 
54
  var slice = arr.slice;
55
 
56
- var concat = arr.concat;
 
 
 
 
 
57
 
58
  var push = arr.push;
59
 
@@ -86,6 +89,8 @@ var isWindow = function isWindow( obj ) {
86
  };
87
 
88
 
 
 
89
 
90
 
91
  var preservedScriptAttributes = {
@@ -142,7 +147,7 @@ function toType( obj ) {
142
 
143
 
144
  var
145
- version = "3.4.1",
146
 
147
  // Define a local copy of jQuery
148
  jQuery = function( selector, context ) {
@@ -150,11 +155,7 @@ var
150
  // The jQuery object is actually just the init constructor 'enhanced'
151
  // Need init if jQuery is called (just allow error to be thrown if not included)
152
  return new jQuery.fn.init( selector, context );
153
- },
154
-
155
- // Support: Android <=4.0 only
156
- // Make sure we trim BOM and NBSP
157
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
158
 
159
  jQuery.fn = jQuery.prototype = {
160
 
@@ -220,6 +221,18 @@ jQuery.fn = jQuery.prototype = {
220
  return this.eq( -1 );
221
  },
222
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  eq: function( i ) {
224
  var len = this.length,
225
  j = +i + ( i < 0 ? len : 0 );
@@ -353,9 +366,10 @@ jQuery.extend( {
353
  return true;
354
  },
355
 
356
- // Evaluates a script in a global context
357
- globalEval: function( code, options ) {
358
- DOMEval( code, { nonce: options && options.nonce } );
 
359
  },
360
 
361
  each: function( obj, callback ) {
@@ -379,13 +393,6 @@ jQuery.extend( {
379
  return obj;
380
  },
381
 
382
- // Support: Android <=4.0 only
383
- trim: function( text ) {
384
- return text == null ?
385
- "" :
386
- ( text + "" ).replace( rtrim, "" );
387
- },
388
-
389
  // results is for internal usage only
390
  makeArray: function( arr, results ) {
391
  var ret = results || [];
@@ -472,7 +479,7 @@ jQuery.extend( {
472
  }
473
 
474
  // Flatten any nested arrays
475
- return concat.apply( [], ret );
476
  },
477
 
478
  // A global GUID counter for objects
@@ -489,7 +496,7 @@ if ( typeof Symbol === "function" ) {
489
 
490
  // Populate the class2type map
491
  jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
492
- function( i, name ) {
493
  class2type[ "[object " + name + "]" ] = name.toLowerCase();
494
  } );
495
 
@@ -511,17 +518,16 @@ function isArrayLike( obj ) {
511
  }
512
  var Sizzle =
513
  /*!
514
- * Sizzle CSS Selector Engine v2.3.4
515
  * https://sizzlejs.com/
516
  *
517
  * Copyright JS Foundation and other contributors
518
  * Released under the MIT license
519
  * https://js.foundation/
520
  *
521
- * Date: 2019-04-08
522
  */
523
- (function( window ) {
524
-
525
  var i,
526
  support,
527
  Expr,
@@ -561,59 +567,70 @@ var i,
561
  },
562
 
563
  // Instance methods
564
- hasOwn = ({}).hasOwnProperty,
565
  arr = [],
566
  pop = arr.pop,
567
- push_native = arr.push,
568
  push = arr.push,
569
  slice = arr.slice,
 
570
  // Use a stripped-down indexOf as it's faster than native
571
  // https://jsperf.com/thor-indexof-vs-for/5
572
  indexOf = function( list, elem ) {
573
  var i = 0,
574
  len = list.length;
575
  for ( ; i < len; i++ ) {
576
- if ( list[i] === elem ) {
577
  return i;
578
  }
579
  }
580
  return -1;
581
  },
582
 
583
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
 
584
 
585
  // Regular expressions
586
 
587
  // http://www.w3.org/TR/css3-selectors/#whitespace
588
  whitespace = "[\\x20\\t\\r\\n\\f]",
589
 
590
- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
591
- identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
 
592
 
593
  // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
594
  attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
 
595
  // Operator (capture 2)
596
  "*([*^$|!~]?=)" + whitespace +
597
- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
598
- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
599
- "*\\]",
 
 
600
 
601
  pseudos = ":(" + identifier + ")(?:\\((" +
 
602
  // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
603
  // 1. quoted (capture 3; capture 4 or capture 5)
604
  "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
 
605
  // 2. simple (capture 6)
606
  "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
 
607
  // 3. anything else (capture 2)
608
  ".*" +
609
  ")\\)|)",
610
 
611
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
612
  rwhitespace = new RegExp( whitespace + "+", "g" ),
613
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
 
614
 
615
  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
616
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
 
617
  rdescend = new RegExp( whitespace + "|>" ),
618
 
619
  rpseudo = new RegExp( pseudos ),
@@ -625,14 +642,16 @@ var i,
625
  "TAG": new RegExp( "^(" + identifier + "|[*])" ),
626
  "ATTR": new RegExp( "^" + attributes ),
627
  "PSEUDO": new RegExp( "^" + pseudos ),
628
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
629
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
630
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
631
  "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
 
632
  // For use in libraries implementing .is()
633
  // We use this for POS matching in `select`
634
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
635
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
 
636
  },
637
 
638
  rhtml = /HTML$/i,
@@ -648,18 +667,21 @@ var i,
648
 
649
  // CSS escapes
650
  // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
651
- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
652
- funescape = function( _, escaped, escapedWhitespace ) {
653
- var high = "0x" + escaped - 0x10000;
654
- // NaN means non-codepoint
655
- // Support: Firefox<24
656
- // Workaround erroneous numeric interpretation of +"0x"
657
- return high !== high || escapedWhitespace ?
658
- escaped :
 
 
 
 
 
659
  high < 0 ?
660
- // BMP codepoint
661
  String.fromCharCode( high + 0x10000 ) :
662
- // Supplemental Plane codepoint (surrogate pair)
663
  String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
664
  },
665
 
@@ -675,7 +697,8 @@ var i,
675
  }
676
 
677
  // Control characters and (dependent upon position) numbers get escaped as code points
678
- return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
 
679
  }
680
 
681
  // Other potentially-special ASCII characters get backslash-escaped
@@ -700,18 +723,20 @@ var i,
700
  // Optimize for push.apply( _, NodeList )
701
  try {
702
  push.apply(
703
- (arr = slice.call( preferredDoc.childNodes )),
704
  preferredDoc.childNodes
705
  );
 
706
  // Support: Android<4.0
707
  // Detect silently failing push.apply
 
708
  arr[ preferredDoc.childNodes.length ].nodeType;
709
  } catch ( e ) {
710
  push = { apply: arr.length ?
711
 
712
  // Leverage slice if possible
713
  function( target, els ) {
714
- push_native.apply( target, slice.call(els) );
715
  } :
716
 
717
  // Support: IE<9
@@ -719,8 +744,9 @@ try {
719
  function( target, els ) {
720
  var j = target.length,
721
  i = 0;
 
722
  // Can't trust NodeList.length
723
- while ( (target[j++] = els[i++]) ) {}
724
  target.length = j - 1;
725
  }
726
  };
@@ -744,24 +770,21 @@ function Sizzle( selector, context, results, seed ) {
744
 
745
  // Try to shortcut find operations (as opposed to filters) in HTML documents
746
  if ( !seed ) {
747
-
748
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
749
- setDocument( context );
750
- }
751
  context = context || document;
752
 
753
  if ( documentIsHTML ) {
754
 
755
  // If the selector is sufficiently simple, try using a "get*By*" DOM method
756
  // (excepting DocumentFragment context, where the methods don't exist)
757
- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
758
 
759
  // ID selector
760
- if ( (m = match[1]) ) {
761
 
762
  // Document context
763
  if ( nodeType === 9 ) {
764
- if ( (elem = context.getElementById( m )) ) {
765
 
766
  // Support: IE, Opera, Webkit
767
  // TODO: identify versions
@@ -780,7 +803,7 @@ function Sizzle( selector, context, results, seed ) {
780
  // Support: IE, Opera, Webkit
781
  // TODO: identify versions
782
  // getElementById can match elements by name instead of ID
783
- if ( newContext && (elem = newContext.getElementById( m )) &&
784
  contains( context, elem ) &&
785
  elem.id === m ) {
786
 
@@ -790,12 +813,12 @@ function Sizzle( selector, context, results, seed ) {
790
  }
791
 
792
  // Type selector
793
- } else if ( match[2] ) {
794
  push.apply( results, context.getElementsByTagName( selector ) );
795
  return results;
796
 
797
  // Class selector
798
- } else if ( (m = match[3]) && support.getElementsByClassName &&
799
  context.getElementsByClassName ) {
800
 
801
  push.apply( results, context.getElementsByClassName( m ) );
@@ -806,11 +829,11 @@ function Sizzle( selector, context, results, seed ) {
806
  // Take advantage of querySelectorAll
807
  if ( support.qsa &&
808
  !nonnativeSelectorCache[ selector + " " ] &&
809
- (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
810
 
811
  // Support: IE 8 only
812
  // Exclude object elements
813
- (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
814
 
815
  newSelector = selector;
816
  newContext = context;
@@ -819,27 +842,36 @@ function Sizzle( selector, context, results, seed ) {
819
  // descendant combinators, which is not what we want.
820
  // In such cases, we work around the behavior by prefixing every selector in the
821
  // list with an ID selector referencing the scope context.
 
 
822
  // Thanks to Andrew Dupont for this technique.
823
- if ( nodeType === 1 && rdescend.test( selector ) ) {
 
824
 
825
- // Capture the context ID, setting it first if necessary
826
- if ( (nid = context.getAttribute( "id" )) ) {
827
- nid = nid.replace( rcssescape, fcssescape );
828
- } else {
829
- context.setAttribute( "id", (nid = expando) );
 
 
 
 
 
 
 
 
 
830
  }
831
 
832
  // Prefix every selector in the list
833
  groups = tokenize( selector );
834
  i = groups.length;
835
  while ( i-- ) {
836
- groups[i] = "#" + nid + " " + toSelector( groups[i] );
 
837
  }
838
  newSelector = groups.join( "," );
839
-
840
- // Expand context for sibling selectors
841
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
842
- context;
843
  }
844
 
845
  try {
@@ -872,12 +904,14 @@ function createCache() {
872
  var keys = [];
873
 
874
  function cache( key, value ) {
 
875
  // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
876
  if ( keys.push( key + " " ) > Expr.cacheLength ) {
 
877
  // Only keep the most recent entries
878
  delete cache[ keys.shift() ];
879
  }
880
- return (cache[ key + " " ] = value);
881
  }
882
  return cache;
883
  }
@@ -896,17 +930,19 @@ function markFunction( fn ) {
896
  * @param {Function} fn Passed the created element and returns a boolean result
897
  */
898
  function assert( fn ) {
899
- var el = document.createElement("fieldset");
900
 
901
  try {
902
  return !!fn( el );
903
- } catch (e) {
904
  return false;
905
  } finally {
 
906
  // Remove from its parent by default
907
  if ( el.parentNode ) {
908
  el.parentNode.removeChild( el );
909
  }
 
910
  // release memory in IE
911
  el = null;
912
  }
@@ -918,11 +954,11 @@ function assert( fn ) {
918
  * @param {Function} handler The method that will be applied
919
  */
920
  function addHandle( attrs, handler ) {
921
- var arr = attrs.split("|"),
922
  i = arr.length;
923
 
924
  while ( i-- ) {
925
- Expr.attrHandle[ arr[i] ] = handler;
926
  }
927
  }
928
 
@@ -944,7 +980,7 @@ function siblingCheck( a, b ) {
944
 
945
  // Check if b follows a
946
  if ( cur ) {
947
- while ( (cur = cur.nextSibling) ) {
948
  if ( cur === b ) {
949
  return -1;
950
  }
@@ -972,7 +1008,7 @@ function createInputPseudo( type ) {
972
  function createButtonPseudo( type ) {
973
  return function( elem ) {
974
  var name = elem.nodeName.toLowerCase();
975
- return (name === "input" || name === "button") && elem.type === type;
976
  };
977
  }
978
 
@@ -1015,7 +1051,7 @@ function createDisabledPseudo( disabled ) {
1015
  // Where there is no isDisabled, check manually
1016
  /* jshint -W018 */
1017
  elem.isDisabled !== !disabled &&
1018
- inDisabledFieldset( elem ) === disabled;
1019
  }
1020
 
1021
  return elem.disabled === disabled;
@@ -1037,21 +1073,21 @@ function createDisabledPseudo( disabled ) {
1037
  * @param {Function} fn
1038
  */
1039
  function createPositionalPseudo( fn ) {
1040
- return markFunction(function( argument ) {
1041
  argument = +argument;
1042
- return markFunction(function( seed, matches ) {
1043
  var j,
1044
  matchIndexes = fn( [], seed.length, argument ),
1045
  i = matchIndexes.length;
1046
 
1047
  // Match elements found at the specified indexes
1048
  while ( i-- ) {
1049
- if ( seed[ (j = matchIndexes[i]) ] ) {
1050
- seed[j] = !(matches[j] = seed[j]);
1051
  }
1052
  }
1053
- });
1054
- });
1055
  }
1056
 
1057
  /**
@@ -1073,7 +1109,7 @@ support = Sizzle.support = {};
1073
  */
1074
  isXML = Sizzle.isXML = function( elem ) {
1075
  var namespace = elem.namespaceURI,
1076
- docElem = (elem.ownerDocument || elem).documentElement;
1077
 
1078
  // Support: IE <=8
1079
  // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
@@ -1091,7 +1127,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1091
  doc = node ? node.ownerDocument || node : preferredDoc;
1092
 
1093
  // Return early if doc is invalid or already selected
1094
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
 
 
 
 
1095
  return document;
1096
  }
1097
 
@@ -1100,10 +1140,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1100
  docElem = document.documentElement;
1101
  documentIsHTML = !isXML( document );
1102
 
1103
- // Support: IE 9-11, Edge
1104
  // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
1105
- if ( preferredDoc !== document &&
1106
- (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
 
 
 
 
1107
 
1108
  // Support: IE 11, Edge
1109
  if ( subWindow.addEventListener ) {
@@ -1115,25 +1159,36 @@ setDocument = Sizzle.setDocument = function( node ) {
1115
  }
1116
  }
1117
 
 
 
 
 
 
 
 
 
 
 
 
1118
  /* Attributes
1119
  ---------------------------------------------------------------------- */
1120
 
1121
  // Support: IE<8
1122
  // Verify that getAttribute really returns attributes and not properties
1123
  // (excepting IE8 booleans)
1124
- support.attributes = assert(function( el ) {
1125
  el.className = "i";
1126
- return !el.getAttribute("className");
1127
- });
1128
 
1129
  /* getElement(s)By*
1130
  ---------------------------------------------------------------------- */
1131
 
1132
  // Check if getElementsByTagName("*") returns only elements
1133
- support.getElementsByTagName = assert(function( el ) {
1134
- el.appendChild( document.createComment("") );
1135
- return !el.getElementsByTagName("*").length;
1136
- });
1137
 
1138
  // Support: IE<9
1139
  support.getElementsByClassName = rnative.test( document.getElementsByClassName );
@@ -1142,38 +1197,38 @@ setDocument = Sizzle.setDocument = function( node ) {
1142
  // Check if getElementById returns elements by name
1143
  // The broken getElementById methods don't pick up programmatically-set names,
1144
  // so use a roundabout getElementsByName test
1145
- support.getById = assert(function( el ) {
1146
  docElem.appendChild( el ).id = expando;
1147
  return !document.getElementsByName || !document.getElementsByName( expando ).length;
1148
- });
1149
 
1150
  // ID filter and find
1151
  if ( support.getById ) {
1152
- Expr.filter["ID"] = function( id ) {
1153
  var attrId = id.replace( runescape, funescape );
1154
  return function( elem ) {
1155
- return elem.getAttribute("id") === attrId;
1156
  };
1157
  };
1158
- Expr.find["ID"] = function( id, context ) {
1159
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1160
  var elem = context.getElementById( id );
1161
  return elem ? [ elem ] : [];
1162
  }
1163
  };
1164
  } else {
1165
- Expr.filter["ID"] = function( id ) {
1166
  var attrId = id.replace( runescape, funescape );
1167
  return function( elem ) {
1168
  var node = typeof elem.getAttributeNode !== "undefined" &&
1169
- elem.getAttributeNode("id");
1170
  return node && node.value === attrId;
1171
  };
1172
  };
1173
 
1174
  // Support: IE 6 - 7 only
1175
  // getElementById is not reliable as a find shortcut
1176
- Expr.find["ID"] = function( id, context ) {
1177
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1178
  var node, i, elems,
1179
  elem = context.getElementById( id );
@@ -1181,7 +1236,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1181
  if ( elem ) {
1182
 
1183
  // Verify the id attribute
1184
- node = elem.getAttributeNode("id");
1185
  if ( node && node.value === id ) {
1186
  return [ elem ];
1187
  }
@@ -1189,8 +1244,8 @@ setDocument = Sizzle.setDocument = function( node ) {
1189
  // Fall back on getElementsByName
1190
  elems = context.getElementsByName( id );
1191
  i = 0;
1192
- while ( (elem = elems[i++]) ) {
1193
- node = elem.getAttributeNode("id");
1194
  if ( node && node.value === id ) {
1195
  return [ elem ];
1196
  }
@@ -1203,7 +1258,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1203
  }
1204
 
1205
  // Tag
1206
- Expr.find["TAG"] = support.getElementsByTagName ?
1207
  function( tag, context ) {
1208
  if ( typeof context.getElementsByTagName !== "undefined" ) {
1209
  return context.getElementsByTagName( tag );
@@ -1218,12 +1273,13 @@ setDocument = Sizzle.setDocument = function( node ) {
1218
  var elem,
1219
  tmp = [],
1220
  i = 0,
 
1221
  // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
1222
  results = context.getElementsByTagName( tag );
1223
 
1224
  // Filter out possible comments
1225
  if ( tag === "*" ) {
1226
- while ( (elem = results[i++]) ) {
1227
  if ( elem.nodeType === 1 ) {
1228
  tmp.push( elem );
1229
  }
@@ -1235,7 +1291,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1235
  };
1236
 
1237
  // Class
1238
- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
1239
  if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1240
  return context.getElementsByClassName( className );
1241
  }
@@ -1256,10 +1312,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1256
  // See https://bugs.jquery.com/ticket/13378
1257
  rbuggyQSA = [];
1258
 
1259
- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
 
1260
  // Build QSA regex
1261
  // Regex strategy adopted from Diego Perini
1262
- assert(function( el ) {
 
 
 
1263
  // Select is set to empty string on purpose
1264
  // This is to test IE's treatment of not explicitly
1265
  // setting a boolean content attribute,
@@ -1273,78 +1333,98 @@ setDocument = Sizzle.setDocument = function( node ) {
1273
  // Nothing should be selected when empty strings follow ^= or $= or *=
1274
  // The test attribute must be unknown in Opera but "safe" for WinRT
1275
  // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1276
- if ( el.querySelectorAll("[msallowcapture^='']").length ) {
1277
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1278
  }
1279
 
1280
  // Support: IE8
1281
  // Boolean attributes and "value" are not treated correctly
1282
- if ( !el.querySelectorAll("[selected]").length ) {
1283
  rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1284
  }
1285
 
1286
  // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
1287
  if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1288
- rbuggyQSA.push("~=");
 
 
 
 
 
 
 
 
 
 
 
 
 
1289
  }
1290
 
1291
  // Webkit/Opera - :checked should return selected option elements
1292
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1293
  // IE8 throws error here and will not see later tests
1294
- if ( !el.querySelectorAll(":checked").length ) {
1295
- rbuggyQSA.push(":checked");
1296
  }
1297
 
1298
  // Support: Safari 8+, iOS 8+
1299
  // https://bugs.webkit.org/show_bug.cgi?id=136851
1300
  // In-page `selector#id sibling-combinator selector` fails
1301
  if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1302
- rbuggyQSA.push(".#.+[+~]");
1303
  }
1304
- });
1305
 
1306
- assert(function( el ) {
 
 
 
 
 
 
1307
  el.innerHTML = "<a href='' disabled='disabled'></a>" +
1308
  "<select disabled='disabled'><option/></select>";
1309
 
1310
  // Support: Windows 8 Native Apps
1311
  // The type and name attributes are restricted during .innerHTML assignment
1312
- var input = document.createElement("input");
1313
  input.setAttribute( "type", "hidden" );
1314
  el.appendChild( input ).setAttribute( "name", "D" );
1315
 
1316
  // Support: IE8
1317
  // Enforce case-sensitivity of name attribute
1318
- if ( el.querySelectorAll("[name=d]").length ) {
1319
  rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
1320
  }
1321
 
1322
  // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1323
  // IE8 throws error here and will not see later tests
1324
- if ( el.querySelectorAll(":enabled").length !== 2 ) {
1325
  rbuggyQSA.push( ":enabled", ":disabled" );
1326
  }
1327
 
1328
  // Support: IE9-11+
1329
  // IE's :disabled selector does not pick up the children of disabled fieldsets
1330
  docElem.appendChild( el ).disabled = true;
1331
- if ( el.querySelectorAll(":disabled").length !== 2 ) {
1332
  rbuggyQSA.push( ":enabled", ":disabled" );
1333
  }
1334
 
 
1335
  // Opera 10-11 does not throw on post-comma invalid pseudos
1336
- el.querySelectorAll("*,:x");
1337
- rbuggyQSA.push(",.*:");
1338
- });
1339
  }
1340
 
1341
- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
1342
  docElem.webkitMatchesSelector ||
1343
  docElem.mozMatchesSelector ||
1344
  docElem.oMatchesSelector ||
1345
- docElem.msMatchesSelector) )) ) {
 
 
1346
 
1347
- assert(function( el ) {
1348
  // Check to see if it's possible to do matchesSelector
1349
  // on a disconnected node (IE 9)
1350
  support.disconnectedMatch = matches.call( el, "*" );
@@ -1353,11 +1433,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1353
  // Gecko does not error, returns false instead
1354
  matches.call( el, "[s!='']:x" );
1355
  rbuggyMatches.push( "!=", pseudos );
1356
- });
1357
  }
1358
 
1359
- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
1360
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
1361
 
1362
  /* Contains
1363
  ---------------------------------------------------------------------- */
@@ -1374,11 +1454,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1374
  adown.contains ?
1375
  adown.contains( bup ) :
1376
  a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1377
- ));
1378
  } :
1379
  function( a, b ) {
1380
  if ( b ) {
1381
- while ( (b = b.parentNode) ) {
1382
  if ( b === a ) {
1383
  return true;
1384
  }
@@ -1407,7 +1487,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1407
  }
1408
 
1409
  // Calculate position if both inputs belong to the same document
1410
- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
 
 
 
 
1411
  a.compareDocumentPosition( b ) :
1412
 
1413
  // Otherwise we know they are disconnected
@@ -1415,13 +1499,24 @@ setDocument = Sizzle.setDocument = function( node ) {
1415
 
1416
  // Disconnected nodes
1417
  if ( compare & 1 ||
1418
- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
1419
 
1420
  // Choose the first element that is related to our preferred document
1421
- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
 
 
 
 
 
1422
  return -1;
1423
  }
1424
- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
 
 
 
 
 
 
1425
  return 1;
1426
  }
1427
 
@@ -1434,6 +1529,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1434
  return compare & 4 ? -1 : 1;
1435
  } :
1436
  function( a, b ) {
 
1437
  // Exit early if the nodes are identical
1438
  if ( a === b ) {
1439
  hasDuplicate = true;
@@ -1449,8 +1545,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1449
 
1450
  // Parentless nodes are either documents or disconnected
1451
  if ( !aup || !bup ) {
1452
- return a === document ? -1 :
1453
- b === document ? 1 :
 
 
 
 
 
 
1454
  aup ? -1 :
1455
  bup ? 1 :
1456
  sortInput ?
@@ -1464,26 +1566,32 @@ setDocument = Sizzle.setDocument = function( node ) {
1464
 
1465
  // Otherwise we need full lists of their ancestors for comparison
1466
  cur = a;
1467
- while ( (cur = cur.parentNode) ) {
1468
  ap.unshift( cur );
1469
  }
1470
  cur = b;
1471
- while ( (cur = cur.parentNode) ) {
1472
  bp.unshift( cur );
1473
  }
1474
 
1475
  // Walk down the tree looking for a discrepancy
1476
- while ( ap[i] === bp[i] ) {
1477
  i++;
1478
  }
1479
 
1480
  return i ?
 
1481
  // Do a sibling check if the nodes have a common ancestor
1482
- siblingCheck( ap[i], bp[i] ) :
1483
 
1484
  // Otherwise nodes in our document sort first
1485
- ap[i] === preferredDoc ? -1 :
1486
- bp[i] === preferredDoc ? 1 :
 
 
 
 
 
1487
  0;
1488
  };
1489
 
@@ -1495,10 +1603,7 @@ Sizzle.matches = function( expr, elements ) {
1495
  };
1496
 
1497
  Sizzle.matchesSelector = function( elem, expr ) {
1498
- // Set document vars if needed
1499
- if ( ( elem.ownerDocument || elem ) !== document ) {
1500
- setDocument( elem );
1501
- }
1502
 
1503
  if ( support.matchesSelector && documentIsHTML &&
1504
  !nonnativeSelectorCache[ expr + " " ] &&
@@ -1510,12 +1615,13 @@ Sizzle.matchesSelector = function( elem, expr ) {
1510
 
1511
  // IE 9's matchesSelector returns false on disconnected nodes
1512
  if ( ret || support.disconnectedMatch ||
1513
- // As well, disconnected nodes are said to be in a document
1514
- // fragment in IE 9
1515
- elem.document && elem.document.nodeType !== 11 ) {
 
1516
  return ret;
1517
  }
1518
- } catch (e) {
1519
  nonnativeSelectorCache( expr, true );
1520
  }
1521
  }
@@ -1524,20 +1630,31 @@ Sizzle.matchesSelector = function( elem, expr ) {
1524
  };
1525
 
1526
  Sizzle.contains = function( context, elem ) {
 
1527
  // Set document vars if needed
1528
- if ( ( context.ownerDocument || context ) !== document ) {
 
 
 
 
1529
  setDocument( context );
1530
  }
1531
  return contains( context, elem );
1532
  };
1533
 
1534
  Sizzle.attr = function( elem, name ) {
 
1535
  // Set document vars if needed
1536
- if ( ( elem.ownerDocument || elem ) !== document ) {
 
 
 
 
1537
  setDocument( elem );
1538
  }
1539
 
1540
  var fn = Expr.attrHandle[ name.toLowerCase() ],
 
1541
  // Don't get fooled by Object.prototype properties (jQuery #13807)
1542
  val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1543
  fn( elem, name, !documentIsHTML ) :
@@ -1547,13 +1664,13 @@ Sizzle.attr = function( elem, name ) {
1547
  val :
1548
  support.attributes || !documentIsHTML ?
1549
  elem.getAttribute( name ) :
1550
- (val = elem.getAttributeNode(name)) && val.specified ?
1551
  val.value :
1552
  null;
1553
  };
1554
 
1555
  Sizzle.escape = function( sel ) {
1556
- return (sel + "").replace( rcssescape, fcssescape );
1557
  };
1558
 
1559
  Sizzle.error = function( msg ) {
@@ -1576,7 +1693,7 @@ Sizzle.uniqueSort = function( results ) {
1576
  results.sort( sortOrder );
1577
 
1578
  if ( hasDuplicate ) {
1579
- while ( (elem = results[i++]) ) {
1580
  if ( elem === results[ i ] ) {
1581
  j = duplicates.push( i );
1582
  }
@@ -1604,17 +1721,21 @@ getText = Sizzle.getText = function( elem ) {
1604
  nodeType = elem.nodeType;
1605
 
1606
  if ( !nodeType ) {
 
1607
  // If no nodeType, this is expected to be an array
1608
- while ( (node = elem[i++]) ) {
 
1609
  // Do not traverse comment nodes
1610
  ret += getText( node );
1611
  }
1612
  } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
 
1613
  // Use textContent for elements
1614
  // innerText usage removed for consistency of new lines (jQuery #11153)
1615
  if ( typeof elem.textContent === "string" ) {
1616
  return elem.textContent;
1617
  } else {
 
1618
  // Traverse its children
1619
  for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1620
  ret += getText( elem );
@@ -1623,6 +1744,7 @@ getText = Sizzle.getText = function( elem ) {
1623
  } else if ( nodeType === 3 || nodeType === 4 ) {
1624
  return elem.nodeValue;
1625
  }
 
1626
  // Do not include comment or processing instruction nodes
1627
 
1628
  return ret;
@@ -1650,19 +1772,21 @@ Expr = Sizzle.selectors = {
1650
 
1651
  preFilter: {
1652
  "ATTR": function( match ) {
1653
- match[1] = match[1].replace( runescape, funescape );
1654
 
1655
  // Move the given value to match[3] whether quoted or unquoted
1656
- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
 
1657
 
1658
- if ( match[2] === "~=" ) {
1659
- match[3] = " " + match[3] + " ";
1660
  }
1661
 
1662
  return match.slice( 0, 4 );
1663
  },
1664
 
1665
  "CHILD": function( match ) {
 
1666
  /* matches from matchExpr["CHILD"]
1667
  1 type (only|nth|...)
1668
  2 what (child|of-type)
@@ -1673,22 +1797,25 @@ Expr = Sizzle.selectors = {
1673
  7 sign of y-component
1674
  8 y of y-component
1675
  */
1676
- match[1] = match[1].toLowerCase();
 
 
1677
 
1678
- if ( match[1].slice( 0, 3 ) === "nth" ) {
1679
  // nth-* requires argument
1680
- if ( !match[3] ) {
1681
- Sizzle.error( match[0] );
1682
  }
1683
 
1684
  // numeric x and y parameters for Expr.filter.CHILD
1685
  // remember that false/true cast respectively to 0/1
1686
- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
1687
- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
 
 
1688
 
1689
- // other types prohibit arguments
1690
- } else if ( match[3] ) {
1691
- Sizzle.error( match[0] );
1692
  }
1693
 
1694
  return match;
@@ -1696,26 +1823,28 @@ Expr = Sizzle.selectors = {
1696
 
1697
  "PSEUDO": function( match ) {
1698
  var excess,
1699
- unquoted = !match[6] && match[2];
1700
 
1701
- if ( matchExpr["CHILD"].test( match[0] ) ) {
1702
  return null;
1703
  }
1704
 
1705
  // Accept quoted arguments as-is
1706
- if ( match[3] ) {
1707
- match[2] = match[4] || match[5] || "";
1708
 
1709
  // Strip excess characters from unquoted arguments
1710
  } else if ( unquoted && rpseudo.test( unquoted ) &&
 
1711
  // Get excess from tokenize (recursively)
1712
- (excess = tokenize( unquoted, true )) &&
 
1713
  // advance to the next closing parenthesis
1714
- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
1715
 
1716
  // excess is a negative index
1717
- match[0] = match[0].slice( 0, excess );
1718
- match[2] = unquoted.slice( 0, excess );
1719
  }
1720
 
1721
  // Return only captures needed by the pseudo filter method (type and argument)
@@ -1728,7 +1857,9 @@ Expr = Sizzle.selectors = {
1728
  "TAG": function( nodeNameSelector ) {
1729
  var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1730
  return nodeNameSelector === "*" ?
1731
- function() { return true; } :
 
 
1732
  function( elem ) {
1733
  return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1734
  };
@@ -1738,10 +1869,16 @@ Expr = Sizzle.selectors = {
1738
  var pattern = classCache[ className + " " ];
1739
 
1740
  return pattern ||
1741
- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
1742
- classCache( className, function( elem ) {
1743
- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
1744
- });
 
 
 
 
 
 
1745
  },
1746
 
1747
  "ATTR": function( name, operator, check ) {
@@ -1757,6 +1894,8 @@ Expr = Sizzle.selectors = {
1757
 
1758
  result += "";
1759
 
 
 
1760
  return operator === "=" ? result === check :
1761
  operator === "!=" ? result !== check :
1762
  operator === "^=" ? check && result.indexOf( check ) === 0 :
@@ -1765,10 +1904,12 @@ Expr = Sizzle.selectors = {
1765
  operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1766
  operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1767
  false;
 
 
1768
  };
1769
  },
1770
 
1771
- "CHILD": function( type, what, argument, first, last ) {
1772
  var simple = type.slice( 0, 3 ) !== "nth",
1773
  forward = type.slice( -4 ) !== "last",
1774
  ofType = what === "of-type";
@@ -1780,7 +1921,7 @@ Expr = Sizzle.selectors = {
1780
  return !!elem.parentNode;
1781
  } :
1782
 
1783
- function( elem, context, xml ) {
1784
  var cache, uniqueCache, outerCache, node, nodeIndex, start,
1785
  dir = simple !== forward ? "nextSibling" : "previousSibling",
1786
  parent = elem.parentNode,
@@ -1794,7 +1935,7 @@ Expr = Sizzle.selectors = {
1794
  if ( simple ) {
1795
  while ( dir ) {
1796
  node = elem;
1797
- while ( (node = node[ dir ]) ) {
1798
  if ( ofType ?
1799
  node.nodeName.toLowerCase() === name :
1800
  node.nodeType === 1 ) {
@@ -1802,6 +1943,7 @@ Expr = Sizzle.selectors = {
1802
  return false;
1803
  }
1804
  }
 
1805
  // Reverse direction for :only-* (if we haven't yet done so)
1806
  start = dir = type === "only" && !start && "nextSibling";
1807
  }
@@ -1817,22 +1959,22 @@ Expr = Sizzle.selectors = {
1817
 
1818
  // ...in a gzip-friendly way
1819
  node = parent;
1820
- outerCache = node[ expando ] || (node[ expando ] = {});
1821
 
1822
  // Support: IE <9 only
1823
  // Defend against cloned attroperties (jQuery gh-1709)
1824
  uniqueCache = outerCache[ node.uniqueID ] ||
1825
- (outerCache[ node.uniqueID ] = {});
1826
 
1827
  cache = uniqueCache[ type ] || [];
1828
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1829
  diff = nodeIndex && cache[ 2 ];
1830
  node = nodeIndex && parent.childNodes[ nodeIndex ];
1831
 
1832
- while ( (node = ++nodeIndex && node && node[ dir ] ||
1833
 
1834
  // Fallback to seeking `elem` from the start
1835
- (diff = nodeIndex = 0) || start.pop()) ) {
1836
 
1837
  // When found, cache indexes on `parent` and break
1838
  if ( node.nodeType === 1 && ++diff && node === elem ) {
@@ -1842,16 +1984,18 @@ Expr = Sizzle.selectors = {
1842
  }
1843
 
1844
  } else {
 
1845
  // Use previously-cached element index if available
1846
  if ( useCache ) {
 
1847
  // ...in a gzip-friendly way
1848
  node = elem;
1849
- outerCache = node[ expando ] || (node[ expando ] = {});
1850
 
1851
  // Support: IE <9 only
1852
  // Defend against cloned attroperties (jQuery gh-1709)
1853
  uniqueCache = outerCache[ node.uniqueID ] ||
1854
- (outerCache[ node.uniqueID ] = {});
1855
 
1856
  cache = uniqueCache[ type ] || [];
1857
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
@@ -1861,9 +2005,10 @@ Expr = Sizzle.selectors = {
1861
  // xml :nth-child(...)
1862
  // or :nth-last-child(...) or :nth(-last)?-of-type(...)
1863
  if ( diff === false ) {
 
1864
  // Use the same loop as above to seek `elem` from the start
1865
- while ( (node = ++nodeIndex && node && node[ dir ] ||
1866
- (diff = nodeIndex = 0) || start.pop()) ) {
1867
 
1868
  if ( ( ofType ?
1869
  node.nodeName.toLowerCase() === name :
@@ -1872,12 +2017,13 @@ Expr = Sizzle.selectors = {
1872
 
1873
  // Cache the index of each encountered element
1874
  if ( useCache ) {
1875
- outerCache = node[ expando ] || (node[ expando ] = {});
 
1876
 
1877
  // Support: IE <9 only
1878
  // Defend against cloned attroperties (jQuery gh-1709)
1879
  uniqueCache = outerCache[ node.uniqueID ] ||
1880
- (outerCache[ node.uniqueID ] = {});
1881
 
1882
  uniqueCache[ type ] = [ dirruns, diff ];
1883
  }
@@ -1898,6 +2044,7 @@ Expr = Sizzle.selectors = {
1898
  },
1899
 
1900
  "PSEUDO": function( pseudo, argument ) {
 
1901
  // pseudo-class names are case-insensitive
1902
  // http://www.w3.org/TR/selectors/#pseudo-classes
1903
  // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
@@ -1917,15 +2064,15 @@ Expr = Sizzle.selectors = {
1917
  if ( fn.length > 1 ) {
1918
  args = [ pseudo, pseudo, "", argument ];
1919
  return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
1920
- markFunction(function( seed, matches ) {
1921
  var idx,
1922
  matched = fn( seed, argument ),
1923
  i = matched.length;
1924
  while ( i-- ) {
1925
- idx = indexOf( seed, matched[i] );
1926
- seed[ idx ] = !( matches[ idx ] = matched[i] );
1927
  }
1928
- }) :
1929
  function( elem ) {
1930
  return fn( elem, 0, args );
1931
  };
@@ -1936,8 +2083,10 @@ Expr = Sizzle.selectors = {
1936
  },
1937
 
1938
  pseudos: {
 
1939
  // Potentially complex pseudos
1940
- "not": markFunction(function( selector ) {
 
1941
  // Trim the selector passed to compile
1942
  // to avoid treating leading and trailing
1943
  // spaces as combinators
@@ -1946,39 +2095,40 @@ Expr = Sizzle.selectors = {
1946
  matcher = compile( selector.replace( rtrim, "$1" ) );
1947
 
1948
  return matcher[ expando ] ?
1949
- markFunction(function( seed, matches, context, xml ) {
1950
  var elem,
1951
  unmatched = matcher( seed, null, xml, [] ),
1952
  i = seed.length;
1953
 
1954
  // Match elements unmatched by `matcher`
1955
  while ( i-- ) {
1956
- if ( (elem = unmatched[i]) ) {
1957
- seed[i] = !(matches[i] = elem);
1958
  }
1959
  }
1960
- }) :
1961
- function( elem, context, xml ) {
1962
- input[0] = elem;
1963
  matcher( input, null, xml, results );
 
1964
  // Don't keep the element (issue #299)
1965
- input[0] = null;
1966
  return !results.pop();
1967
  };
1968
- }),
1969
 
1970
- "has": markFunction(function( selector ) {
1971
  return function( elem ) {
1972
  return Sizzle( selector, elem ).length > 0;
1973
  };
1974
- }),
1975
 
1976
- "contains": markFunction(function( text ) {
1977
  text = text.replace( runescape, funescape );
1978
  return function( elem ) {
1979
  return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
1980
  };
1981
- }),
1982
 
1983
  // "Whether an element is represented by a :lang() selector
1984
  // is based solely on the element's language value
@@ -1988,25 +2138,26 @@ Expr = Sizzle.selectors = {
1988
  // The identifier C does not have to be a valid language name."
1989
  // http://www.w3.org/TR/selectors/#lang-pseudo
1990
  "lang": markFunction( function( lang ) {
 
1991
  // lang value must be a valid identifier
1992
- if ( !ridentifier.test(lang || "") ) {
1993
  Sizzle.error( "unsupported lang: " + lang );
1994
  }
1995
  lang = lang.replace( runescape, funescape ).toLowerCase();
1996
  return function( elem ) {
1997
  var elemLang;
1998
  do {
1999
- if ( (elemLang = documentIsHTML ?
2000
  elem.lang :
2001
- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
2002
 
2003
  elemLang = elemLang.toLowerCase();
2004
  return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2005
  }
2006
- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
2007
  return false;
2008
  };
2009
- }),
2010
 
2011
  // Miscellaneous
2012
  "target": function( elem ) {
@@ -2019,7 +2170,9 @@ Expr = Sizzle.selectors = {
2019
  },
2020
 
2021
  "focus": function( elem ) {
2022
- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
 
 
2023
  },
2024
 
2025
  // Boolean properties
@@ -2027,16 +2180,20 @@ Expr = Sizzle.selectors = {
2027
  "disabled": createDisabledPseudo( true ),
2028
 
2029
  "checked": function( elem ) {
 
2030
  // In CSS3, :checked should return both checked and selected elements
2031
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2032
  var nodeName = elem.nodeName.toLowerCase();
2033
- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
 
2034
  },
2035
 
2036
  "selected": function( elem ) {
 
2037
  // Accessing this property makes selected-by-default
2038
  // options in Safari work properly
2039
  if ( elem.parentNode ) {
 
2040
  elem.parentNode.selectedIndex;
2041
  }
2042
 
@@ -2045,6 +2202,7 @@ Expr = Sizzle.selectors = {
2045
 
2046
  // Contents
2047
  "empty": function( elem ) {
 
2048
  // http://www.w3.org/TR/selectors/#empty-pseudo
2049
  // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
2050
  // but not by others (comment: 8; processing instruction: 7; etc.)
@@ -2058,7 +2216,7 @@ Expr = Sizzle.selectors = {
2058
  },
2059
 
2060
  "parent": function( elem ) {
2061
- return !Expr.pseudos["empty"]( elem );
2062
  },
2063
 
2064
  // Element/input types
@@ -2082,39 +2240,40 @@ Expr = Sizzle.selectors = {
2082
 
2083
  // Support: IE<8
2084
  // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2085
- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
 
2086
  },
2087
 
2088
  // Position-in-collection
2089
- "first": createPositionalPseudo(function() {
2090
  return [ 0 ];
2091
- }),
2092
 
2093
- "last": createPositionalPseudo(function( matchIndexes, length ) {
2094
  return [ length - 1 ];
2095
- }),
2096
 
2097
- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
2098
  return [ argument < 0 ? argument + length : argument ];
2099
- }),
2100
 
2101
- "even": createPositionalPseudo(function( matchIndexes, length ) {
2102
  var i = 0;
2103
  for ( ; i < length; i += 2 ) {
2104
  matchIndexes.push( i );
2105
  }
2106
  return matchIndexes;
2107
- }),
2108
 
2109
- "odd": createPositionalPseudo(function( matchIndexes, length ) {
2110
  var i = 1;
2111
  for ( ; i < length; i += 2 ) {
2112
  matchIndexes.push( i );
2113
  }
2114
  return matchIndexes;
2115
- }),
2116
 
2117
- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2118
  var i = argument < 0 ?
2119
  argument + length :
2120
  argument > length ?
@@ -2124,19 +2283,19 @@ Expr = Sizzle.selectors = {
2124
  matchIndexes.push( i );
2125
  }
2126
  return matchIndexes;
2127
- }),
2128
 
2129
- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2130
  var i = argument < 0 ? argument + length : argument;
2131
  for ( ; ++i < length; ) {
2132
  matchIndexes.push( i );
2133
  }
2134
  return matchIndexes;
2135
- })
2136
  }
2137
  };
2138
 
2139
- Expr.pseudos["nth"] = Expr.pseudos["eq"];
2140
 
2141
  // Add button/input type pseudos
2142
  for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
@@ -2167,37 +2326,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2167
  while ( soFar ) {
2168
 
2169
  // Comma and first run
2170
- if ( !matched || (match = rcomma.exec( soFar )) ) {
2171
  if ( match ) {
 
2172
  // Don't consume trailing commas as valid
2173
- soFar = soFar.slice( match[0].length ) || soFar;
2174
  }
2175
- groups.push( (tokens = []) );
2176
  }
2177
 
2178
  matched = false;
2179
 
2180
  // Combinators
2181
- if ( (match = rcombinators.exec( soFar )) ) {
2182
  matched = match.shift();
2183
- tokens.push({
2184
  value: matched,
 
2185
  // Cast descendant combinators to space
2186
- type: match[0].replace( rtrim, " " )
2187
- });
2188
  soFar = soFar.slice( matched.length );
2189
  }
2190
 
2191
  // Filters
2192
  for ( type in Expr.filter ) {
2193
- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
2194
- (match = preFilters[ type ]( match ))) ) {
2195
  matched = match.shift();
2196
- tokens.push({
2197
  value: matched,
2198
  type: type,
2199
  matches: match
2200
- });
2201
  soFar = soFar.slice( matched.length );
2202
  }
2203
  }
@@ -2214,6 +2375,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2214
  soFar.length :
2215
  soFar ?
2216
  Sizzle.error( selector ) :
 
2217
  // Cache the tokens
2218
  tokenCache( selector, groups ).slice( 0 );
2219
  };
@@ -2223,7 +2385,7 @@ function toSelector( tokens ) {
2223
  len = tokens.length,
2224
  selector = "";
2225
  for ( ; i < len; i++ ) {
2226
- selector += tokens[i].value;
2227
  }
2228
  return selector;
2229
  }
@@ -2236,9 +2398,10 @@ function addCombinator( matcher, combinator, base ) {
2236
  doneName = done++;
2237
 
2238
  return combinator.first ?
 
2239
  // Check against closest ancestor/preceding element
2240
  function( elem, context, xml ) {
2241
- while ( (elem = elem[ dir ]) ) {
2242
  if ( elem.nodeType === 1 || checkNonElements ) {
2243
  return matcher( elem, context, xml );
2244
  }
@@ -2253,7 +2416,7 @@ function addCombinator( matcher, combinator, base ) {
2253
 
2254
  // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2255
  if ( xml ) {
2256
- while ( (elem = elem[ dir ]) ) {
2257
  if ( elem.nodeType === 1 || checkNonElements ) {
2258
  if ( matcher( elem, context, xml ) ) {
2259
  return true;
@@ -2261,27 +2424,29 @@ function addCombinator( matcher, combinator, base ) {
2261
  }
2262
  }
2263
  } else {
2264
- while ( (elem = elem[ dir ]) ) {
2265
  if ( elem.nodeType === 1 || checkNonElements ) {
2266
- outerCache = elem[ expando ] || (elem[ expando ] = {});
2267
 
2268
  // Support: IE <9 only
2269
  // Defend against cloned attroperties (jQuery gh-1709)
2270
- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
 
2271
 
2272
  if ( skip && skip === elem.nodeName.toLowerCase() ) {
2273
  elem = elem[ dir ] || elem;
2274
- } else if ( (oldCache = uniqueCache[ key ]) &&
2275
  oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2276
 
2277
  // Assign to newCache so results back-propagate to previous elements
2278
- return (newCache[ 2 ] = oldCache[ 2 ]);
2279
  } else {
 
2280
  // Reuse newcache so results back-propagate to previous elements
2281
  uniqueCache[ key ] = newCache;
2282
 
2283
  // A match means we're done; a fail means we have to keep checking
2284
- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
2285
  return true;
2286
  }
2287
  }
@@ -2297,20 +2462,20 @@ function elementMatcher( matchers ) {
2297
  function( elem, context, xml ) {
2298
  var i = matchers.length;
2299
  while ( i-- ) {
2300
- if ( !matchers[i]( elem, context, xml ) ) {
2301
  return false;
2302
  }
2303
  }
2304
  return true;
2305
  } :
2306
- matchers[0];
2307
  }
2308
 
2309
  function multipleContexts( selector, contexts, results ) {
2310
  var i = 0,
2311
  len = contexts.length;
2312
  for ( ; i < len; i++ ) {
2313
- Sizzle( selector, contexts[i], results );
2314
  }
2315
  return results;
2316
  }
@@ -2323,7 +2488,7 @@ function condense( unmatched, map, filter, context, xml ) {
2323
  mapped = map != null;
2324
 
2325
  for ( ; i < len; i++ ) {
2326
- if ( (elem = unmatched[i]) ) {
2327
  if ( !filter || filter( elem, context, xml ) ) {
2328
  newUnmatched.push( elem );
2329
  if ( mapped ) {
@@ -2343,14 +2508,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2343
  if ( postFinder && !postFinder[ expando ] ) {
2344
  postFinder = setMatcher( postFinder, postSelector );
2345
  }
2346
- return markFunction(function( seed, results, context, xml ) {
2347
  var temp, i, elem,
2348
  preMap = [],
2349
  postMap = [],
2350
  preexisting = results.length,
2351
 
2352
  // Get initial elements from seed or context
2353
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
 
 
 
 
2354
 
2355
  // Prefilter to get matcher input, preserving a map for seed-results synchronization
2356
  matcherIn = preFilter && ( seed || !selector ) ?
@@ -2358,6 +2527,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2358
  elems,
2359
 
2360
  matcherOut = matcher ?
 
2361
  // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2362
  postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2363
 
@@ -2381,8 +2551,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2381
  // Un-match failing elements by moving them back to matcherIn
2382
  i = temp.length;
2383
  while ( i-- ) {
2384
- if ( (elem = temp[i]) ) {
2385
- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
2386
  }
2387
  }
2388
  }
@@ -2390,25 +2560,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2390
  if ( seed ) {
2391
  if ( postFinder || preFilter ) {
2392
  if ( postFinder ) {
 
2393
  // Get the final matcherOut by condensing this intermediate into postFinder contexts
2394
  temp = [];
2395
  i = matcherOut.length;
2396
  while ( i-- ) {
2397
- if ( (elem = matcherOut[i]) ) {
 
2398
  // Restore matcherIn since elem is not yet a final match
2399
- temp.push( (matcherIn[i] = elem) );
2400
  }
2401
  }
2402
- postFinder( null, (matcherOut = []), temp, xml );
2403
  }
2404
 
2405
  // Move matched elements from seed to results to keep them synchronized
2406
  i = matcherOut.length;
2407
  while ( i-- ) {
2408
- if ( (elem = matcherOut[i]) &&
2409
- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
2410
 
2411
- seed[temp] = !(results[temp] = elem);
2412
  }
2413
  }
2414
  }
@@ -2426,14 +2598,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2426
  push.apply( results, matcherOut );
2427
  }
2428
  }
2429
- });
2430
  }
2431
 
2432
  function matcherFromTokens( tokens ) {
2433
  var checkContext, matcher, j,
2434
  len = tokens.length,
2435
- leadingRelative = Expr.relative[ tokens[0].type ],
2436
- implicitRelative = leadingRelative || Expr.relative[" "],
2437
  i = leadingRelative ? 1 : 0,
2438
 
2439
  // The foundational matcher ensures that elements are reachable from top-level context(s)
@@ -2445,38 +2617,43 @@ function matcherFromTokens( tokens ) {
2445
  }, implicitRelative, true ),
2446
  matchers = [ function( elem, context, xml ) {
2447
  var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2448
- (checkContext = context).nodeType ?
2449
  matchContext( elem, context, xml ) :
2450
  matchAnyContext( elem, context, xml ) );
 
2451
  // Avoid hanging onto element (issue #299)
2452
  checkContext = null;
2453
  return ret;
2454
  } ];
2455
 
2456
  for ( ; i < len; i++ ) {
2457
- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
2458
- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
2459
  } else {
2460
- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
2461
 
2462
  // Return special upon seeing a positional matcher
2463
  if ( matcher[ expando ] ) {
 
2464
  // Find the next relative operator (if any) for proper handling
2465
  j = ++i;
2466
  for ( ; j < len; j++ ) {
2467
- if ( Expr.relative[ tokens[j].type ] ) {
2468
  break;
2469
  }
2470
  }
2471
  return setMatcher(
2472
  i > 1 && elementMatcher( matchers ),
2473
  i > 1 && toSelector(
2474
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
2475
- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
 
 
 
2476
  ).replace( rtrim, "$1" ),
2477
  matcher,
2478
  i < j && matcherFromTokens( tokens.slice( i, j ) ),
2479
- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
2480
  j < len && toSelector( tokens )
2481
  );
2482
  }
@@ -2497,28 +2674,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2497
  unmatched = seed && [],
2498
  setMatched = [],
2499
  contextBackup = outermostContext,
 
2500
  // We must always have either seed elements or outermost context
2501
- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
 
2502
  // Use integer dirruns iff this is the outermost matcher
2503
- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
2504
  len = elems.length;
2505
 
2506
  if ( outermost ) {
2507
- outermostContext = context === document || context || outermost;
 
 
 
 
 
2508
  }
2509
 
2510
  // Add elements passing elementMatchers directly to results
2511
  // Support: IE<9, Safari
2512
  // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
2513
- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
2514
  if ( byElement && elem ) {
2515
  j = 0;
2516
- if ( !context && elem.ownerDocument !== document ) {
 
 
 
 
 
2517
  setDocument( elem );
2518
  xml = !documentIsHTML;
2519
  }
2520
- while ( (matcher = elementMatchers[j++]) ) {
2521
- if ( matcher( elem, context || document, xml) ) {
2522
  results.push( elem );
2523
  break;
2524
  }
@@ -2530,8 +2719,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2530
 
2531
  // Track unmatched elements for set filters
2532
  if ( bySet ) {
 
2533
  // They will have gone through all possible matchers
2534
- if ( (elem = !matcher && elem) ) {
2535
  matchedCount--;
2536
  }
2537
 
@@ -2555,16 +2745,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2555
  // numerically zero.
2556
  if ( bySet && i !== matchedCount ) {
2557
  j = 0;
2558
- while ( (matcher = setMatchers[j++]) ) {
2559
  matcher( unmatched, setMatched, context, xml );
2560
  }
2561
 
2562
  if ( seed ) {
 
2563
  // Reintegrate element matches to eliminate the need for sorting
2564
  if ( matchedCount > 0 ) {
2565
  while ( i-- ) {
2566
- if ( !(unmatched[i] || setMatched[i]) ) {
2567
- setMatched[i] = pop.call( results );
2568
  }
2569
  }
2570
  }
@@ -2605,13 +2796,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2605
  cached = compilerCache[ selector + " " ];
2606
 
2607
  if ( !cached ) {
 
2608
  // Generate a function of recursive functions that can be used to check each element
2609
  if ( !match ) {
2610
  match = tokenize( selector );
2611
  }
2612
  i = match.length;
2613
  while ( i-- ) {
2614
- cached = matcherFromTokens( match[i] );
2615
  if ( cached[ expando ] ) {
2616
  setMatchers.push( cached );
2617
  } else {
@@ -2620,7 +2812,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2620
  }
2621
 
2622
  // Cache the compiled function
2623
- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
 
 
 
2624
 
2625
  // Save selector and tokenization
2626
  cached.selector = selector;
@@ -2640,7 +2835,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2640
  select = Sizzle.select = function( selector, context, results, seed ) {
2641
  var i, tokens, token, type, find,
2642
  compiled = typeof selector === "function" && selector,
2643
- match = !seed && tokenize( (selector = compiled.selector || selector) );
2644
 
2645
  results = results || [];
2646
 
@@ -2649,11 +2844,12 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2649
  if ( match.length === 1 ) {
2650
 
2651
  // Reduce context if the leading compound selector is an ID
2652
- tokens = match[0] = match[0].slice( 0 );
2653
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2654
- context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
2655
 
2656
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
 
2657
  if ( !context ) {
2658
  return results;
2659
 
@@ -2666,20 +2862,22 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2666
  }
2667
 
2668
  // Fetch a seed set for right-to-left matching
2669
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2670
  while ( i-- ) {
2671
- token = tokens[i];
2672
 
2673
  // Abort if we hit a combinator
2674
- if ( Expr.relative[ (type = token.type) ] ) {
2675
  break;
2676
  }
2677
- if ( (find = Expr.find[ type ]) ) {
 
2678
  // Search, expanding context for leading sibling combinators
2679
- if ( (seed = find(
2680
- token.matches[0].replace( runescape, funescape ),
2681
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2682
- )) ) {
 
2683
 
2684
  // If seed is empty or no tokens remain, we can return early
2685
  tokens.splice( i, 1 );
@@ -2710,7 +2908,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2710
  // One-time assignments
2711
 
2712
  // Sort stability
2713
- support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
2714
 
2715
  // Support: Chrome 14-35+
2716
  // Always assume duplicates if they aren't passed to the comparison function
@@ -2721,58 +2919,59 @@ setDocument();
2721
 
2722
  // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2723
  // Detached nodes confoundingly follow *each other*
2724
- support.sortDetached = assert(function( el ) {
 
2725
  // Should return 1, but returns 4 (following)
2726
- return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
2727
- });
2728
 
2729
  // Support: IE<8
2730
  // Prevent attribute/property "interpolation"
2731
  // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2732
- if ( !assert(function( el ) {
2733
  el.innerHTML = "<a href='#'></a>";
2734
- return el.firstChild.getAttribute("href") === "#" ;
2735
- }) ) {
2736
  addHandle( "type|href|height|width", function( elem, name, isXML ) {
2737
  if ( !isXML ) {
2738
  return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2739
  }
2740
- });
2741
  }
2742
 
2743
  // Support: IE<9
2744
  // Use defaultValue in place of getAttribute("value")
2745
- if ( !support.attributes || !assert(function( el ) {
2746
  el.innerHTML = "<input/>";
2747
  el.firstChild.setAttribute( "value", "" );
2748
  return el.firstChild.getAttribute( "value" ) === "";
2749
- }) ) {
2750
- addHandle( "value", function( elem, name, isXML ) {
2751
  if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2752
  return elem.defaultValue;
2753
  }
2754
- });
2755
  }
2756
 
2757
  // Support: IE<9
2758
  // Use getAttributeNode to fetch booleans when getAttribute lies
2759
- if ( !assert(function( el ) {
2760
- return el.getAttribute("disabled") == null;
2761
- }) ) {
2762
  addHandle( booleans, function( elem, name, isXML ) {
2763
  var val;
2764
  if ( !isXML ) {
2765
  return elem[ name ] === true ? name.toLowerCase() :
2766
- (val = elem.getAttributeNode( name )) && val.specified ?
2767
  val.value :
2768
- null;
2769
  }
2770
- });
2771
  }
2772
 
2773
  return Sizzle;
2774
 
2775
- })( window );
2776
 
2777
 
2778
 
@@ -3141,7 +3340,7 @@ jQuery.each( {
3141
  parents: function( elem ) {
3142
  return dir( elem, "parentNode" );
3143
  },
3144
- parentsUntil: function( elem, i, until ) {
3145
  return dir( elem, "parentNode", until );
3146
  },
3147
  next: function( elem ) {
@@ -3156,10 +3355,10 @@ jQuery.each( {
3156
  prevAll: function( elem ) {
3157
  return dir( elem, "previousSibling" );
3158
  },
3159
- nextUntil: function( elem, i, until ) {
3160
  return dir( elem, "nextSibling", until );
3161
  },
3162
- prevUntil: function( elem, i, until ) {
3163
  return dir( elem, "previousSibling", until );
3164
  },
3165
  siblings: function( elem ) {
@@ -3169,7 +3368,13 @@ jQuery.each( {
3169
  return siblings( elem.firstChild );
3170
  },
3171
  contents: function( elem ) {
3172
- if ( typeof elem.contentDocument !== "undefined" ) {
 
 
 
 
 
 
3173
  return elem.contentDocument;
3174
  }
3175
 
@@ -3512,7 +3717,7 @@ jQuery.extend( {
3512
  var fns = arguments;
3513
 
3514
  return jQuery.Deferred( function( newDefer ) {
3515
- jQuery.each( tuples, function( i, tuple ) {
3516
 
3517
  // Map tuples (progress, done, fail) to arguments (done, fail, progress)
3518
  var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
@@ -3965,7 +4170,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
3965
  // ...except when executing function values
3966
  } else {
3967
  bulk = fn;
3968
- fn = function( elem, key, value ) {
3969
  return bulk.call( jQuery( elem ), value );
3970
  };
3971
  }
@@ -4000,7 +4205,7 @@ var rmsPrefix = /^-ms-/,
4000
  rdashAlpha = /-([a-z])/g;
4001
 
4002
  // Used by camelCase as callback to replace()
4003
- function fcamelCase( all, letter ) {
4004
  return letter.toUpperCase();
4005
  }
4006
 
@@ -4039,7 +4244,7 @@ Data.prototype = {
4039
 
4040
  // If not, create one
4041
  if ( !value ) {
4042
- value = {};
4043
 
4044
  // We can accept data for non-element nodes in modern browsers,
4045
  // but we should not, see #8335.
@@ -4528,27 +4733,6 @@ var isHiddenWithinTree = function( elem, el ) {
4528
  jQuery.css( elem, "display" ) === "none";
4529
  };
4530
 
4531
- var swap = function( elem, options, callback, args ) {
4532
- var ret, name,
4533
- old = {};
4534
-
4535
- // Remember the old values, and insert the new ones
4536
- for ( name in options ) {
4537
- old[ name ] = elem.style[ name ];
4538
- elem.style[ name ] = options[ name ];
4539
- }
4540
-
4541
- ret = callback.apply( elem, args || [] );
4542
-
4543
- // Revert the old values
4544
- for ( name in options ) {
4545
- elem.style[ name ] = old[ name ];
4546
- }
4547
-
4548
- return ret;
4549
- };
4550
-
4551
-
4552
 
4553
 
4554
  function adjustCSS( elem, prop, valueParts, tween ) {
@@ -4719,11 +4903,40 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
4719
 
4720
 
4721
 
4722
- // We have to close these tags to support XHTML (#13200)
4723
- var wrapMap = {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4724
 
4725
  // Support: IE <=9 only
4726
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
 
 
 
 
 
 
 
 
4727
 
4728
  // XHTML parsers do not magically insert elements in the
4729
  // same way that tag soup parsers do. So we cannot shorten
@@ -4736,12 +4949,14 @@ var wrapMap = {
4736
  _default: [ 0, "", "" ]
4737
  };
4738
 
4739
- // Support: IE <=9 only
4740
- wrapMap.optgroup = wrapMap.option;
4741
-
4742
  wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
4743
  wrapMap.th = wrapMap.td;
4744
 
 
 
 
 
 
4745
 
4746
  function getAll( context, tag ) {
4747
 
@@ -4874,32 +5089,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
4874
  }
4875
 
4876
 
4877
- ( function() {
4878
- var fragment = document.createDocumentFragment(),
4879
- div = fragment.appendChild( document.createElement( "div" ) ),
4880
- input = document.createElement( "input" );
4881
-
4882
- // Support: Android 4.0 - 4.3 only
4883
- // Check state lost if the name is set (#11217)
4884
- // Support: Windows Web Apps (WWA)
4885
- // `name` and `type` must use .setAttribute for WWA (#14901)
4886
- input.setAttribute( "type", "radio" );
4887
- input.setAttribute( "checked", "checked" );
4888
- input.setAttribute( "name", "t" );
4889
-
4890
- div.appendChild( input );
4891
-
4892
- // Support: Android <=4.1 only
4893
- // Older WebKit doesn't clone checked state correctly in fragments
4894
- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4895
-
4896
- // Support: IE <=11 only
4897
- // Make sure textarea (and checkbox) defaultValue is properly cloned
4898
- div.innerHTML = "<textarea>x</textarea>";
4899
- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4900
- } )();
4901
-
4902
-
4903
  var
4904
  rkeyEvent = /^key/,
4905
  rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
@@ -5008,8 +5197,8 @@ jQuery.event = {
5008
  special, handlers, type, namespaces, origType,
5009
  elemData = dataPriv.get( elem );
5010
 
5011
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
5012
- if ( !elemData ) {
5013
  return;
5014
  }
5015
 
@@ -5033,7 +5222,7 @@ jQuery.event = {
5033
 
5034
  // Init the element's event structure and main handler, if this is the first
5035
  if ( !( events = elemData.events ) ) {
5036
- events = elemData.events = {};
5037
  }
5038
  if ( !( eventHandle = elemData.handle ) ) {
5039
  eventHandle = elemData.handle = function( e ) {
@@ -5191,12 +5380,15 @@ jQuery.event = {
5191
 
5192
  dispatch: function( nativeEvent ) {
5193
 
5194
- // Make a writable jQuery.Event from the native event object
5195
- var event = jQuery.event.fix( nativeEvent );
5196
-
5197
  var i, j, ret, matched, handleObj, handlerQueue,
5198
  args = new Array( arguments.length ),
5199
- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
 
 
 
 
 
 
5200
  special = jQuery.event.special[ event.type ] || {};
5201
 
5202
  // Use the fix-ed jQuery.Event rather than the (read-only) native event
@@ -5771,13 +5963,6 @@ jQuery.fn.extend( {
5771
 
5772
  var
5773
 
5774
- /* eslint-disable max-len */
5775
-
5776
- // See https://github.com/eslint/eslint/issues/3229
5777
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
5778
-
5779
- /* eslint-enable */
5780
-
5781
  // Support: IE <=10 - 11, Edge 12 - 13 only
5782
  // In IE/Edge using regex groups here causes severe slowdowns.
5783
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
@@ -5814,7 +5999,7 @@ function restoreScript( elem ) {
5814
  }
5815
 
5816
  function cloneCopyEvent( src, dest ) {
5817
- var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
5818
 
5819
  if ( dest.nodeType !== 1 ) {
5820
  return;
@@ -5822,13 +6007,11 @@ function cloneCopyEvent( src, dest ) {
5822
 
5823
  // 1. Copy private data: events, handlers, etc.
5824
  if ( dataPriv.hasData( src ) ) {
5825
- pdataOld = dataPriv.access( src );
5826
- pdataCur = dataPriv.set( dest, pdataOld );
5827
  events = pdataOld.events;
5828
 
5829
  if ( events ) {
5830
- delete pdataCur.handle;
5831
- pdataCur.events = {};
5832
 
5833
  for ( type in events ) {
5834
  for ( i = 0, l = events[ type ].length; i < l; i++ ) {
@@ -5864,7 +6047,7 @@ function fixInput( src, dest ) {
5864
  function domManip( collection, args, callback, ignored ) {
5865
 
5866
  // Flatten any nested arrays
5867
- args = concat.apply( [], args );
5868
 
5869
  var fragment, first, scripts, hasScripts, node, doc,
5870
  i = 0,
@@ -5939,7 +6122,7 @@ function domManip( collection, args, callback, ignored ) {
5939
  if ( jQuery._evalUrl && !node.noModule ) {
5940
  jQuery._evalUrl( node.src, {
5941
  nonce: node.nonce || node.getAttribute( "nonce" )
5942
- } );
5943
  }
5944
  } else {
5945
  DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
@@ -5976,7 +6159,7 @@ function remove( elem, selector, keepData ) {
5976
 
5977
  jQuery.extend( {
5978
  htmlPrefilter: function( html ) {
5979
- return html.replace( rxhtmlTag, "<$1></$2>" );
5980
  },
5981
 
5982
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
@@ -6238,6 +6421,27 @@ var getStyles = function( elem ) {
6238
  return view.getComputedStyle( elem );
6239
  };
6240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6241
  var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6242
 
6243
 
@@ -6295,7 +6499,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6295
  }
6296
 
6297
  var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6298
- reliableMarginLeftVal,
6299
  container = document.createElement( "div" ),
6300
  div = document.createElement( "div" );
6301
 
@@ -6330,6 +6534,35 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6330
  scrollboxSize: function() {
6331
  computeStyleTests();
6332
  return scrollboxSizeVal;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6333
  }
6334
  } );
6335
  } )();
@@ -6454,7 +6687,7 @@ var
6454
  fontWeight: "400"
6455
  };
6456
 
6457
- function setPositiveNumber( elem, value, subtract ) {
6458
 
6459
  // Any relative (+/-) values have already been
6460
  // normalized at this point
@@ -6559,17 +6792,26 @@ function getWidthOrHeight( elem, dimension, extra ) {
6559
  }
6560
 
6561
 
6562
- // Fall back to offsetWidth/offsetHeight when value is "auto"
6563
- // This happens for inline elements with no explicit setting (gh-3571)
6564
- // Support: Android <=4.1 - 4.3 only
6565
- // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6566
- // Support: IE 9-11 only
6567
- // Also use offsetWidth/offsetHeight for when box sizing is unreliable
6568
- // We use getClientRects() to check for hidden/disconnected.
6569
- // In those cases, the computed value can be trusted to be border-box
6570
  if ( ( !support.boxSizingReliable() && isBorderBox ||
 
 
 
 
 
 
 
 
 
6571
  val === "auto" ||
 
 
 
6572
  !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
 
 
6573
  elem.getClientRects().length ) {
6574
 
6575
  isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
@@ -6764,7 +7006,7 @@ jQuery.extend( {
6764
  }
6765
  } );
6766
 
6767
- jQuery.each( [ "height", "width" ], function( i, dimension ) {
6768
  jQuery.cssHooks[ dimension ] = {
6769
  get: function( elem, computed, extra ) {
6770
  if ( computed ) {
@@ -7537,7 +7779,7 @@ jQuery.fn.extend( {
7537
  clearQueue = type;
7538
  type = undefined;
7539
  }
7540
- if ( clearQueue && type !== false ) {
7541
  this.queue( type || "fx", [] );
7542
  }
7543
 
@@ -7620,7 +7862,7 @@ jQuery.fn.extend( {
7620
  }
7621
  } );
7622
 
7623
- jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
7624
  var cssFn = jQuery.fn[ name ];
7625
  jQuery.fn[ name ] = function( speed, easing, callback ) {
7626
  return speed == null || typeof speed === "boolean" ?
@@ -7841,7 +8083,7 @@ boolHook = {
7841
  }
7842
  };
7843
 
7844
- jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
7845
  var getter = attrHandle[ name ] || jQuery.find.attr;
7846
 
7847
  attrHandle[ name ] = function( elem, name, isXML ) {
@@ -8465,7 +8707,9 @@ jQuery.extend( jQuery.event, {
8465
  special.bindType || type;
8466
 
8467
  // jQuery handler
8468
- handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
 
 
8469
  dataPriv.get( cur, "handle" );
8470
  if ( handle ) {
8471
  handle.apply( cur, data );
@@ -8576,7 +8820,10 @@ if ( !support.focusin ) {
8576
 
8577
  jQuery.event.special[ fix ] = {
8578
  setup: function() {
8579
- var doc = this.ownerDocument || this,
 
 
 
8580
  attaches = dataPriv.access( doc, fix );
8581
 
8582
  if ( !attaches ) {
@@ -8585,7 +8832,7 @@ if ( !support.focusin ) {
8585
  dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
8586
  },
8587
  teardown: function() {
8588
- var doc = this.ownerDocument || this,
8589
  attaches = dataPriv.access( doc, fix ) - 1;
8590
 
8591
  if ( !attaches ) {
@@ -8601,7 +8848,7 @@ if ( !support.focusin ) {
8601
  }
8602
  var location = window.location;
8603
 
8604
- var nonce = Date.now();
8605
 
8606
  var rquery = ( /\?/ );
8607
 
@@ -8733,7 +8980,7 @@ jQuery.fn.extend( {
8733
  rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
8734
  ( this.checked || !rcheckableType.test( type ) );
8735
  } )
8736
- .map( function( i, elem ) {
8737
  var val = jQuery( this ).val();
8738
 
8739
  if ( val == null ) {
@@ -9346,7 +9593,8 @@ jQuery.extend( {
9346
  // Add or update anti-cache param if needed
9347
  if ( s.cache === false ) {
9348
  cacheURL = cacheURL.replace( rantiCache, "$1" );
9349
- uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
 
9350
  }
9351
 
9352
  // Put hash and anti-cache on the URL that will be requested (gh-1732)
@@ -9479,6 +9727,11 @@ jQuery.extend( {
9479
  response = ajaxHandleResponses( s, jqXHR, responses );
9480
  }
9481
 
 
 
 
 
 
9482
  // Convert no matter what (that way responseXXX fields are always set)
9483
  response = ajaxConvert( s, response, jqXHR, isSuccess );
9484
 
@@ -9569,7 +9822,7 @@ jQuery.extend( {
9569
  }
9570
  } );
9571
 
9572
- jQuery.each( [ "get", "post" ], function( i, method ) {
9573
  jQuery[ method ] = function( url, data, callback, type ) {
9574
 
9575
  // Shift arguments if data argument was omitted
@@ -9590,8 +9843,17 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
9590
  };
9591
  } );
9592
 
 
 
 
 
 
 
 
 
 
9593
 
9594
- jQuery._evalUrl = function( url, options ) {
9595
  return jQuery.ajax( {
9596
  url: url,
9597
 
@@ -9609,7 +9871,7 @@ jQuery._evalUrl = function( url, options ) {
9609
  "text script": function() {}
9610
  },
9611
  dataFilter: function( response ) {
9612
- jQuery.globalEval( response, options );
9613
  }
9614
  } );
9615
  };
@@ -9931,7 +10193,7 @@ var oldCallbacks = [],
9931
  jQuery.ajaxSetup( {
9932
  jsonp: "callback",
9933
  jsonpCallback: function() {
9934
- var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
9935
  this[ callback ] = true;
9936
  return callback;
9937
  }
@@ -10148,23 +10410,6 @@ jQuery.fn.load = function( url, params, callback ) {
10148
 
10149
 
10150
 
10151
- // Attach a bunch of functions for handling common AJAX events
10152
- jQuery.each( [
10153
- "ajaxStart",
10154
- "ajaxStop",
10155
- "ajaxComplete",
10156
- "ajaxError",
10157
- "ajaxSuccess",
10158
- "ajaxSend"
10159
- ], function( i, type ) {
10160
- jQuery.fn[ type ] = function( fn ) {
10161
- return this.on( type, fn );
10162
- };
10163
- } );
10164
-
10165
-
10166
-
10167
-
10168
  jQuery.expr.pseudos.animated = function( elem ) {
10169
  return jQuery.grep( jQuery.timers, function( fn ) {
10170
  return elem === fn.elem;
@@ -10221,6 +10466,12 @@ jQuery.offset = {
10221
  options.using.call( elem, props );
10222
 
10223
  } else {
 
 
 
 
 
 
10224
  curElem.css( props );
10225
  }
10226
  }
@@ -10371,7 +10622,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
10371
  // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
10372
  // getComputedStyle returns percent when specified for top/left/bottom/right;
10373
  // rather than make the css module depend on the offset module, just check for it here
10374
- jQuery.each( [ "top", "left" ], function( i, prop ) {
10375
  jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
10376
  function( elem, computed ) {
10377
  if ( computed ) {
@@ -10434,25 +10685,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
10434
  } );
10435
 
10436
 
10437
- jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
10438
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10439
- "change select submit keydown keypress keyup contextmenu" ).split( " " ),
10440
- function( i, name ) {
10441
-
10442
- // Handle event binding
10443
- jQuery.fn[ name ] = function( data, fn ) {
10444
- return arguments.length > 0 ?
10445
- this.on( name, null, data, fn ) :
10446
- this.trigger( name );
10447
  };
10448
  } );
10449
 
10450
- jQuery.fn.extend( {
10451
- hover: function( fnOver, fnOut ) {
10452
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
10453
- }
10454
- } );
10455
-
10456
 
10457
 
10458
 
@@ -10474,9 +10719,33 @@ jQuery.fn.extend( {
10474
  return arguments.length === 1 ?
10475
  this.off( selector, "**" ) :
10476
  this.off( types, selector || "**", fn );
 
 
 
 
10477
  }
10478
  } );
10479
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10480
  // Bind a function to a context, optionally partially applying any
10481
  // arguments.
10482
  // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
@@ -10539,6 +10808,11 @@ jQuery.isNumeric = function( obj ) {
10539
  !isNaN( obj - parseFloat( obj ) );
10540
  };
10541
 
 
 
 
 
 
10542
 
10543
 
10544
 
@@ -10587,7 +10861,7 @@ jQuery.noConflict = function( deep ) {
10587
  // Expose jQuery and $ identifiers, even in AMD
10588
  // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
10589
  // and CommonJS for browser emulators (#13566)
10590
- if ( !noGlobal ) {
10591
  window.jQuery = window.$ = jQuery;
10592
  }
10593
 
1
  /*!
2
+ * jQuery JavaScript Library v3.5.0
3
  * https://jquery.com/
4
  *
5
  * Includes Sizzle.js
9
  * Released under the MIT license
10
  * https://jquery.org/license
11
  *
12
+ * Date: 2020-04-10T15:07Z
13
  */
14
  ( function( global, factory ) {
15
 
47
 
48
  var arr = [];
49
 
 
 
50
  var getProto = Object.getPrototypeOf;
51
 
52
  var slice = arr.slice;
53
 
54
+ var flat = arr.flat ? function( array ) {
55
+ return arr.flat.call( array );
56
+ } : function( array ) {
57
+ return arr.concat.apply( [], array );
58
+ };
59
+
60
 
61
  var push = arr.push;
62
 
89
  };
90
 
91
 
92
+ var document = window.document;
93
+
94
 
95
 
96
  var preservedScriptAttributes = {
147
 
148
 
149
  var
150
+ version = "3.5.0",
151
 
152
  // Define a local copy of jQuery
153
  jQuery = function( selector, context ) {
155
  // The jQuery object is actually just the init constructor 'enhanced'
156
  // Need init if jQuery is called (just allow error to be thrown if not included)
157
  return new jQuery.fn.init( selector, context );
158
+ };
 
 
 
 
159
 
160
  jQuery.fn = jQuery.prototype = {
161
 
221
  return this.eq( -1 );
222
  },
223
 
224
+ even: function() {
225
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
226
+ return ( i + 1 ) % 2;
227
+ } ) );
228
+ },
229
+
230
+ odd: function() {
231
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
232
+ return i % 2;
233
+ } ) );
234
+ },
235
+
236
  eq: function( i ) {
237
  var len = this.length,
238
  j = +i + ( i < 0 ? len : 0 );
366
  return true;
367
  },
368
 
369
+ // Evaluates a script in a provided context; falls back to the global one
370
+ // if not specified.
371
+ globalEval: function( code, options, doc ) {
372
+ DOMEval( code, { nonce: options && options.nonce }, doc );
373
  },
374
 
375
  each: function( obj, callback ) {
393
  return obj;
394
  },
395
 
 
 
 
 
 
 
 
396
  // results is for internal usage only
397
  makeArray: function( arr, results ) {
398
  var ret = results || [];
479
  }
480
 
481
  // Flatten any nested arrays
482
+ return flat( ret );
483
  },
484
 
485
  // A global GUID counter for objects
496
 
497
  // Populate the class2type map
498
  jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
499
+ function( _i, name ) {
500
  class2type[ "[object " + name + "]" ] = name.toLowerCase();
501
  } );
502
 
518
  }
519
  var Sizzle =
520
  /*!
521
+ * Sizzle CSS Selector Engine v2.3.5
522
  * https://sizzlejs.com/
523
  *
524
  * Copyright JS Foundation and other contributors
525
  * Released under the MIT license
526
  * https://js.foundation/
527
  *
528
+ * Date: 2020-03-14
529
  */
530
+ ( function( window ) {
 
531
  var i,
532
  support,
533
  Expr,
567
  },
568
 
569
  // Instance methods
570
+ hasOwn = ( {} ).hasOwnProperty,
571
  arr = [],
572
  pop = arr.pop,
573
+ pushNative = arr.push,
574
  push = arr.push,
575
  slice = arr.slice,
576
+
577
  // Use a stripped-down indexOf as it's faster than native
578
  // https://jsperf.com/thor-indexof-vs-for/5
579
  indexOf = function( list, elem ) {
580
  var i = 0,
581
  len = list.length;
582
  for ( ; i < len; i++ ) {
583
+ if ( list[ i ] === elem ) {
584
  return i;
585
  }
586
  }
587
  return -1;
588
  },
589
 
590
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
591
+ "ismap|loop|multiple|open|readonly|required|scoped",
592
 
593
  // Regular expressions
594
 
595
  // http://www.w3.org/TR/css3-selectors/#whitespace
596
  whitespace = "[\\x20\\t\\r\\n\\f]",
597
 
598
+ // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
599
+ identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
600
+ "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
601
 
602
  // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
603
  attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
604
+
605
  // Operator (capture 2)
606
  "*([*^$|!~]?=)" + whitespace +
607
+
608
+ // "Attribute values must be CSS identifiers [capture 5]
609
+ // or strings [capture 3 or capture 4]"
610
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
611
+ whitespace + "*\\]",
612
 
613
  pseudos = ":(" + identifier + ")(?:\\((" +
614
+
615
  // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
616
  // 1. quoted (capture 3; capture 4 or capture 5)
617
  "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
618
+
619
  // 2. simple (capture 6)
620
  "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
621
+
622
  // 3. anything else (capture 2)
623
  ".*" +
624
  ")\\)|)",
625
 
626
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
627
  rwhitespace = new RegExp( whitespace + "+", "g" ),
628
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
629
+ whitespace + "+$", "g" ),
630
 
631
  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
632
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
633
+ "*" ),
634
  rdescend = new RegExp( whitespace + "|>" ),
635
 
636
  rpseudo = new RegExp( pseudos ),
642
  "TAG": new RegExp( "^(" + identifier + "|[*])" ),
643
  "ATTR": new RegExp( "^" + attributes ),
644
  "PSEUDO": new RegExp( "^" + pseudos ),
645
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
646
+ whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
647
+ whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
648
  "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
649
+
650
  // For use in libraries implementing .is()
651
  // We use this for POS matching in `select`
652
+ "needsContext": new RegExp( "^" + whitespace +
653
+ "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
654
+ "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
655
  },
656
 
657
  rhtml = /HTML$/i,
667
 
668
  // CSS escapes
669
  // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
670
+ runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
671
+ funescape = function( escape, nonHex ) {
672
+ var high = "0x" + escape.slice( 1 ) - 0x10000;
673
+
674
+ return nonHex ?
675
+
676
+ // Strip the backslash prefix from a non-hex escape sequence
677
+ nonHex :
678
+
679
+ // Replace a hexadecimal escape sequence with the encoded Unicode code point
680
+ // Support: IE <=11+
681
+ // For values outside the Basic Multilingual Plane (BMP), manually construct a
682
+ // surrogate pair
683
  high < 0 ?
 
684
  String.fromCharCode( high + 0x10000 ) :
 
685
  String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
686
  },
687
 
697
  }
698
 
699
  // Control characters and (dependent upon position) numbers get escaped as code points
700
+ return ch.slice( 0, -1 ) + "\\" +
701
+ ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
702
  }
703
 
704
  // Other potentially-special ASCII characters get backslash-escaped
723
  // Optimize for push.apply( _, NodeList )
724
  try {
725
  push.apply(
726
+ ( arr = slice.call( preferredDoc.childNodes ) ),
727
  preferredDoc.childNodes
728
  );
729
+
730
  // Support: Android<4.0
731
  // Detect silently failing push.apply
732
+ // eslint-disable-next-line no-unused-expressions
733
  arr[ preferredDoc.childNodes.length ].nodeType;
734
  } catch ( e ) {
735
  push = { apply: arr.length ?
736
 
737
  // Leverage slice if possible
738
  function( target, els ) {
739
+ pushNative.apply( target, slice.call( els ) );
740
  } :
741
 
742
  // Support: IE<9
744
  function( target, els ) {
745
  var j = target.length,
746
  i = 0;
747
+
748
  // Can't trust NodeList.length
749
+ while ( ( target[ j++ ] = els[ i++ ] ) ) {}
750
  target.length = j - 1;
751
  }
752
  };
770
 
771
  // Try to shortcut find operations (as opposed to filters) in HTML documents
772
  if ( !seed ) {
773
+ setDocument( context );
 
 
 
774
  context = context || document;
775
 
776
  if ( documentIsHTML ) {
777
 
778
  // If the selector is sufficiently simple, try using a "get*By*" DOM method
779
  // (excepting DocumentFragment context, where the methods don't exist)
780
+ if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
781
 
782
  // ID selector
783
+ if ( ( m = match[ 1 ] ) ) {
784
 
785
  // Document context
786
  if ( nodeType === 9 ) {
787
+ if ( ( elem = context.getElementById( m ) ) ) {
788
 
789
  // Support: IE, Opera, Webkit
790
  // TODO: identify versions
803
  // Support: IE, Opera, Webkit
804
  // TODO: identify versions
805
  // getElementById can match elements by name instead of ID
806
+ if ( newContext && ( elem = newContext.getElementById( m ) ) &&
807
  contains( context, elem ) &&
808
  elem.id === m ) {
809
 
813
  }
814
 
815
  // Type selector
816
+ } else if ( match[ 2 ] ) {
817
  push.apply( results, context.getElementsByTagName( selector ) );
818
  return results;
819
 
820
  // Class selector
821
+ } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
822
  context.getElementsByClassName ) {
823
 
824
  push.apply( results, context.getElementsByClassName( m ) );
829
  // Take advantage of querySelectorAll
830
  if ( support.qsa &&
831
  !nonnativeSelectorCache[ selector + " " ] &&
832
+ ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
833
 
834
  // Support: IE 8 only
835
  // Exclude object elements
836
+ ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
837
 
838
  newSelector = selector;
839
  newContext = context;
842
  // descendant combinators, which is not what we want.
843
  // In such cases, we work around the behavior by prefixing every selector in the
844
  // list with an ID selector referencing the scope context.
845
+ // The technique has to be used as well when a leading combinator is used
846
+ // as such selectors are not recognized by querySelectorAll.
847
  // Thanks to Andrew Dupont for this technique.
848
+ if ( nodeType === 1 &&
849
+ ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
850
 
851
+ // Expand context for sibling selectors
852
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
853
+ context;
854
+
855
+ // We can use :scope instead of the ID hack if the browser
856
+ // supports it & if we're not changing the context.
857
+ if ( newContext !== context || !support.scope ) {
858
+
859
+ // Capture the context ID, setting it first if necessary
860
+ if ( ( nid = context.getAttribute( "id" ) ) ) {
861
+ nid = nid.replace( rcssescape, fcssescape );
862
+ } else {
863
+ context.setAttribute( "id", ( nid = expando ) );
864
+ }
865
  }
866
 
867
  // Prefix every selector in the list
868
  groups = tokenize( selector );
869
  i = groups.length;
870
  while ( i-- ) {
871
+ groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
872
+ toSelector( groups[ i ] );
873
  }
874
  newSelector = groups.join( "," );
 
 
 
 
875
  }
876
 
877
  try {
904
  var keys = [];
905
 
906
  function cache( key, value ) {
907
+
908
  // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
909
  if ( keys.push( key + " " ) > Expr.cacheLength ) {
910
+
911
  // Only keep the most recent entries
912
  delete cache[ keys.shift() ];
913
  }
914
+ return ( cache[ key + " " ] = value );
915
  }
916
  return cache;
917
  }
930
  * @param {Function} fn Passed the created element and returns a boolean result
931
  */
932
  function assert( fn ) {
933
+ var el = document.createElement( "fieldset" );
934
 
935
  try {
936
  return !!fn( el );
937
+ } catch ( e ) {
938
  return false;
939
  } finally {
940
+
941
  // Remove from its parent by default
942
  if ( el.parentNode ) {
943
  el.parentNode.removeChild( el );
944
  }
945
+
946
  // release memory in IE
947
  el = null;
948
  }
954
  * @param {Function} handler The method that will be applied
955
  */
956
  function addHandle( attrs, handler ) {
957
+ var arr = attrs.split( "|" ),
958
  i = arr.length;
959
 
960
  while ( i-- ) {
961
+ Expr.attrHandle[ arr[ i ] ] = handler;
962
  }
963
  }
964
 
980
 
981
  // Check if b follows a
982
  if ( cur ) {
983
+ while ( ( cur = cur.nextSibling ) ) {
984
  if ( cur === b ) {
985
  return -1;
986
  }
1008
  function createButtonPseudo( type ) {
1009
  return function( elem ) {
1010
  var name = elem.nodeName.toLowerCase();
1011
+ return ( name === "input" || name === "button" ) && elem.type === type;
1012
  };
1013
  }
1014
 
1051
  // Where there is no isDisabled, check manually
1052
  /* jshint -W018 */
1053
  elem.isDisabled !== !disabled &&
1054
+ inDisabledFieldset( elem ) === disabled;
1055
  }
1056
 
1057
  return elem.disabled === disabled;
1073
  * @param {Function} fn
1074
  */
1075
  function createPositionalPseudo( fn ) {
1076
+ return markFunction( function( argument ) {
1077
  argument = +argument;
1078
+ return markFunction( function( seed, matches ) {
1079
  var j,
1080
  matchIndexes = fn( [], seed.length, argument ),
1081
  i = matchIndexes.length;
1082
 
1083
  // Match elements found at the specified indexes
1084
  while ( i-- ) {
1085
+ if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
1086
+ seed[ j ] = !( matches[ j ] = seed[ j ] );
1087
  }
1088
  }
1089
+ } );
1090
+ } );
1091
  }
1092
 
1093
  /**
1109
  */
1110
  isXML = Sizzle.isXML = function( elem ) {
1111
  var namespace = elem.namespaceURI,
1112
+ docElem = ( elem.ownerDocument || elem ).documentElement;
1113
 
1114
  // Support: IE <=8
1115
  // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
1127
  doc = node ? node.ownerDocument || node : preferredDoc;
1128
 
1129
  // Return early if doc is invalid or already selected
1130
+ // Support: IE 11+, Edge 17 - 18+
1131
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1132
+ // two documents; shallow comparisons work.
1133
+ // eslint-disable-next-line eqeqeq
1134
+ if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
1135
  return document;
1136
  }
1137
 
1140
  docElem = document.documentElement;
1141
  documentIsHTML = !isXML( document );
1142
 
1143
+ // Support: IE 9 - 11+, Edge 12 - 18+
1144
  // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
1145
+ // Support: IE 11+, Edge 17 - 18+
1146
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1147
+ // two documents; shallow comparisons work.
1148
+ // eslint-disable-next-line eqeqeq
1149
+ if ( preferredDoc != document &&
1150
+ ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
1151
 
1152
  // Support: IE 11, Edge
1153
  if ( subWindow.addEventListener ) {
1159
  }
1160
  }
1161
 
1162
+ // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
1163
+ // Safari 4 - 5 only, Opera <=11.6 - 12.x only
1164
+ // IE/Edge & older browsers don't support the :scope pseudo-class.
1165
+ // Support: Safari 6.0 only
1166
+ // Safari 6.0 supports :scope but it's an alias of :root there.
1167
+ support.scope = assert( function( el ) {
1168
+ docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
1169
+ return typeof el.querySelectorAll !== "undefined" &&
1170
+ !el.querySelectorAll( ":scope fieldset div" ).length;
1171
+ } );
1172
+
1173
  /* Attributes
1174
  ---------------------------------------------------------------------- */
1175
 
1176
  // Support: IE<8
1177
  // Verify that getAttribute really returns attributes and not properties
1178
  // (excepting IE8 booleans)
1179
+ support.attributes = assert( function( el ) {
1180
  el.className = "i";
1181
+ return !el.getAttribute( "className" );
1182
+ } );
1183
 
1184
  /* getElement(s)By*
1185
  ---------------------------------------------------------------------- */
1186
 
1187
  // Check if getElementsByTagName("*") returns only elements
1188
+ support.getElementsByTagName = assert( function( el ) {
1189
+ el.appendChild( document.createComment( "" ) );
1190
+ return !el.getElementsByTagName( "*" ).length;
1191
+ } );
1192
 
1193
  // Support: IE<9
1194
  support.getElementsByClassName = rnative.test( document.getElementsByClassName );
1197
  // Check if getElementById returns elements by name
1198
  // The broken getElementById methods don't pick up programmatically-set names,
1199
  // so use a roundabout getElementsByName test
1200
+ support.getById = assert( function( el ) {
1201
  docElem.appendChild( el ).id = expando;
1202
  return !document.getElementsByName || !document.getElementsByName( expando ).length;
1203
+ } );
1204
 
1205
  // ID filter and find
1206
  if ( support.getById ) {
1207
+ Expr.filter[ "ID" ] = function( id ) {
1208
  var attrId = id.replace( runescape, funescape );
1209
  return function( elem ) {
1210
+ return elem.getAttribute( "id" ) === attrId;
1211
  };
1212
  };
1213
+ Expr.find[ "ID" ] = function( id, context ) {
1214
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1215
  var elem = context.getElementById( id );
1216
  return elem ? [ elem ] : [];
1217
  }
1218
  };
1219
  } else {
1220
+ Expr.filter[ "ID" ] = function( id ) {
1221
  var attrId = id.replace( runescape, funescape );
1222
  return function( elem ) {
1223
  var node = typeof elem.getAttributeNode !== "undefined" &&
1224
+ elem.getAttributeNode( "id" );
1225
  return node && node.value === attrId;
1226
  };
1227
  };
1228
 
1229
  // Support: IE 6 - 7 only
1230
  // getElementById is not reliable as a find shortcut
1231
+ Expr.find[ "ID" ] = function( id, context ) {
1232
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1233
  var node, i, elems,
1234
  elem = context.getElementById( id );
1236
  if ( elem ) {
1237
 
1238
  // Verify the id attribute
1239
+ node = elem.getAttributeNode( "id" );
1240
  if ( node && node.value === id ) {
1241
  return [ elem ];
1242
  }
1244
  // Fall back on getElementsByName
1245
  elems = context.getElementsByName( id );
1246
  i = 0;
1247
+ while ( ( elem = elems[ i++ ] ) ) {
1248
+ node = elem.getAttributeNode( "id" );
1249
  if ( node && node.value === id ) {
1250
  return [ elem ];
1251
  }
1258
  }
1259
 
1260
  // Tag
1261
+ Expr.find[ "TAG" ] = support.getElementsByTagName ?
1262
  function( tag, context ) {
1263
  if ( typeof context.getElementsByTagName !== "undefined" ) {
1264
  return context.getElementsByTagName( tag );
1273
  var elem,
1274
  tmp = [],
1275
  i = 0,
1276
+
1277
  // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
1278
  results = context.getElementsByTagName( tag );
1279
 
1280
  // Filter out possible comments
1281
  if ( tag === "*" ) {
1282
+ while ( ( elem = results[ i++ ] ) ) {
1283
  if ( elem.nodeType === 1 ) {
1284
  tmp.push( elem );
1285
  }
1291
  };
1292
 
1293
  // Class
1294
+ Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
1295
  if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1296
  return context.getElementsByClassName( className );
1297
  }
1312
  // See https://bugs.jquery.com/ticket/13378
1313
  rbuggyQSA = [];
1314
 
1315
+ if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
1316
+
1317
  // Build QSA regex
1318
  // Regex strategy adopted from Diego Perini
1319
+ assert( function( el ) {
1320
+
1321
+ var input;
1322
+
1323
  // Select is set to empty string on purpose
1324
  // This is to test IE's treatment of not explicitly
1325
  // setting a boolean content attribute,
1333
  // Nothing should be selected when empty strings follow ^= or $= or *=
1334
  // The test attribute must be unknown in Opera but "safe" for WinRT
1335
  // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1336
+ if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
1337
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1338
  }
1339
 
1340
  // Support: IE8
1341
  // Boolean attributes and "value" are not treated correctly
1342
+ if ( !el.querySelectorAll( "[selected]" ).length ) {
1343
  rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1344
  }
1345
 
1346
  // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
1347
  if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1348
+ rbuggyQSA.push( "~=" );
1349
+ }
1350
+
1351
+ // Support: IE 11+, Edge 15 - 18+
1352
+ // IE 11/Edge don't find elements on a `[name='']` query in some cases.
1353
+ // Adding a temporary attribute to the document before the selection works
1354
+ // around the issue.
1355
+ // Interestingly, IE 10 & older don't seem to have the issue.
1356
+ input = document.createElement( "input" );
1357
+ input.setAttribute( "name", "" );
1358
+ el.appendChild( input );
1359
+ if ( !el.querySelectorAll( "[name='']" ).length ) {
1360
+ rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
1361
+ whitespace + "*(?:''|\"\")" );
1362
  }
1363
 
1364
  // Webkit/Opera - :checked should return selected option elements
1365
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1366
  // IE8 throws error here and will not see later tests
1367
+ if ( !el.querySelectorAll( ":checked" ).length ) {
1368
+ rbuggyQSA.push( ":checked" );
1369
  }
1370
 
1371
  // Support: Safari 8+, iOS 8+
1372
  // https://bugs.webkit.org/show_bug.cgi?id=136851
1373
  // In-page `selector#id sibling-combinator selector` fails
1374
  if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1375
+ rbuggyQSA.push( ".#.+[+~]" );
1376
  }
 
1377
 
1378
+ // Support: Firefox <=3.6 - 5 only
1379
+ // Old Firefox doesn't throw on a badly-escaped identifier.
1380
+ el.querySelectorAll( "\\\f" );
1381
+ rbuggyQSA.push( "[\\r\\n\\f]" );
1382
+ } );
1383
+
1384
+ assert( function( el ) {
1385
  el.innerHTML = "<a href='' disabled='disabled'></a>" +
1386
  "<select disabled='disabled'><option/></select>";
1387
 
1388
  // Support: Windows 8 Native Apps
1389
  // The type and name attributes are restricted during .innerHTML assignment
1390
+ var input = document.createElement( "input" );
1391
  input.setAttribute( "type", "hidden" );
1392
  el.appendChild( input ).setAttribute( "name", "D" );
1393
 
1394
  // Support: IE8
1395
  // Enforce case-sensitivity of name attribute
1396
+ if ( el.querySelectorAll( "[name=d]" ).length ) {
1397
  rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
1398
  }
1399
 
1400
  // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1401
  // IE8 throws error here and will not see later tests
1402
+ if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
1403
  rbuggyQSA.push( ":enabled", ":disabled" );
1404
  }
1405
 
1406
  // Support: IE9-11+
1407
  // IE's :disabled selector does not pick up the children of disabled fieldsets
1408
  docElem.appendChild( el ).disabled = true;
1409
+ if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
1410
  rbuggyQSA.push( ":enabled", ":disabled" );
1411
  }
1412
 
1413
+ // Support: Opera 10 - 11 only
1414
  // Opera 10-11 does not throw on post-comma invalid pseudos
1415
+ el.querySelectorAll( "*,:x" );
1416
+ rbuggyQSA.push( ",.*:" );
1417
+ } );
1418
  }
1419
 
1420
+ if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
1421
  docElem.webkitMatchesSelector ||
1422
  docElem.mozMatchesSelector ||
1423
  docElem.oMatchesSelector ||
1424
+ docElem.msMatchesSelector ) ) ) ) {
1425
+
1426
+ assert( function( el ) {
1427
 
 
1428
  // Check to see if it's possible to do matchesSelector
1429
  // on a disconnected node (IE 9)
1430
  support.disconnectedMatch = matches.call( el, "*" );
1433
  // Gecko does not error, returns false instead
1434
  matches.call( el, "[s!='']:x" );
1435
  rbuggyMatches.push( "!=", pseudos );
1436
+ } );
1437
  }
1438
 
1439
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
1440
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
1441
 
1442
  /* Contains
1443
  ---------------------------------------------------------------------- */
1454
  adown.contains ?
1455
  adown.contains( bup ) :
1456
  a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1457
+ ) );
1458
  } :
1459
  function( a, b ) {
1460
  if ( b ) {
1461
+ while ( ( b = b.parentNode ) ) {
1462
  if ( b === a ) {
1463
  return true;
1464
  }
1487
  }
1488
 
1489
  // Calculate position if both inputs belong to the same document
1490
+ // Support: IE 11+, Edge 17 - 18+
1491
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1492
+ // two documents; shallow comparisons work.
1493
+ // eslint-disable-next-line eqeqeq
1494
+ compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
1495
  a.compareDocumentPosition( b ) :
1496
 
1497
  // Otherwise we know they are disconnected
1499
 
1500
  // Disconnected nodes
1501
  if ( compare & 1 ||
1502
+ ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
1503
 
1504
  // Choose the first element that is related to our preferred document
1505
+ // Support: IE 11+, Edge 17 - 18+
1506
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1507
+ // two documents; shallow comparisons work.
1508
+ // eslint-disable-next-line eqeqeq
1509
+ if ( a == document || a.ownerDocument == preferredDoc &&
1510
+ contains( preferredDoc, a ) ) {
1511
  return -1;
1512
  }
1513
+
1514
+ // Support: IE 11+, Edge 17 - 18+
1515
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1516
+ // two documents; shallow comparisons work.
1517
+ // eslint-disable-next-line eqeqeq
1518
+ if ( b == document || b.ownerDocument == preferredDoc &&
1519
+ contains( preferredDoc, b ) ) {
1520
  return 1;
1521
  }
1522
 
1529
  return compare & 4 ? -1 : 1;
1530
  } :
1531
  function( a, b ) {
1532
+
1533
  // Exit early if the nodes are identical
1534
  if ( a === b ) {
1535
  hasDuplicate = true;
1545
 
1546
  // Parentless nodes are either documents or disconnected
1547
  if ( !aup || !bup ) {
1548
+
1549
+ // Support: IE 11+, Edge 17 - 18+
1550
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1551
+ // two documents; shallow comparisons work.
1552
+ /* eslint-disable eqeqeq */
1553
+ return a == document ? -1 :
1554
+ b == document ? 1 :
1555
+ /* eslint-enable eqeqeq */
1556
  aup ? -1 :
1557
  bup ? 1 :
1558
  sortInput ?
1566
 
1567
  // Otherwise we need full lists of their ancestors for comparison
1568
  cur = a;
1569
+ while ( ( cur = cur.parentNode ) ) {
1570
  ap.unshift( cur );
1571
  }
1572
  cur = b;
1573
+ while ( ( cur = cur.parentNode ) ) {
1574
  bp.unshift( cur );
1575
  }
1576
 
1577
  // Walk down the tree looking for a discrepancy
1578
+ while ( ap[ i ] === bp[ i ] ) {
1579
  i++;
1580
  }
1581
 
1582
  return i ?
1583
+
1584
  // Do a sibling check if the nodes have a common ancestor
1585
+ siblingCheck( ap[ i ], bp[ i ] ) :
1586
 
1587
  // Otherwise nodes in our document sort first
1588
+ // Support: IE 11+, Edge 17 - 18+
1589
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1590
+ // two documents; shallow comparisons work.
1591
+ /* eslint-disable eqeqeq */
1592
+ ap[ i ] == preferredDoc ? -1 :
1593
+ bp[ i ] == preferredDoc ? 1 :
1594
+ /* eslint-enable eqeqeq */
1595
  0;
1596
  };
1597
 
1603
  };
1604
 
1605
  Sizzle.matchesSelector = function( elem, expr ) {
1606
+ setDocument( elem );
 
 
 
1607
 
1608
  if ( support.matchesSelector && documentIsHTML &&
1609
  !nonnativeSelectorCache[ expr + " " ] &&
1615
 
1616
  // IE 9's matchesSelector returns false on disconnected nodes
1617
  if ( ret || support.disconnectedMatch ||
1618
+
1619
+ // As well, disconnected nodes are said to be in a document
1620
+ // fragment in IE 9
1621
+ elem.document && elem.document.nodeType !== 11 ) {
1622
  return ret;
1623
  }
1624
+ } catch ( e ) {
1625
  nonnativeSelectorCache( expr, true );
1626
  }
1627
  }
1630
  };
1631
 
1632
  Sizzle.contains = function( context, elem ) {
1633
+
1634
  // Set document vars if needed
1635
+ // Support: IE 11+, Edge 17 - 18+
1636
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1637
+ // two documents; shallow comparisons work.
1638
+ // eslint-disable-next-line eqeqeq
1639
+ if ( ( context.ownerDocument || context ) != document ) {
1640
  setDocument( context );
1641
  }
1642
  return contains( context, elem );
1643
  };
1644
 
1645
  Sizzle.attr = function( elem, name ) {
1646
+
1647
  // Set document vars if needed
1648
+ // Support: IE 11+, Edge 17 - 18+
1649
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1650
+ // two documents; shallow comparisons work.
1651
+ // eslint-disable-next-line eqeqeq
1652
+ if ( ( elem.ownerDocument || elem ) != document ) {
1653
  setDocument( elem );
1654
  }
1655
 
1656
  var fn = Expr.attrHandle[ name.toLowerCase() ],
1657
+
1658
  // Don't get fooled by Object.prototype properties (jQuery #13807)
1659
  val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1660
  fn( elem, name, !documentIsHTML ) :
1664
  val :
1665
  support.attributes || !documentIsHTML ?
1666
  elem.getAttribute( name ) :
1667
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
1668
  val.value :
1669
  null;
1670
  };
1671
 
1672
  Sizzle.escape = function( sel ) {
1673
+ return ( sel + "" ).replace( rcssescape, fcssescape );
1674
  };
1675
 
1676
  Sizzle.error = function( msg ) {
1693
  results.sort( sortOrder );
1694
 
1695
  if ( hasDuplicate ) {
1696
+ while ( ( elem = results[ i++ ] ) ) {
1697
  if ( elem === results[ i ] ) {
1698
  j = duplicates.push( i );
1699
  }
1721
  nodeType = elem.nodeType;
1722
 
1723
  if ( !nodeType ) {
1724
+
1725
  // If no nodeType, this is expected to be an array
1726
+ while ( ( node = elem[ i++ ] ) ) {
1727
+
1728
  // Do not traverse comment nodes
1729
  ret += getText( node );
1730
  }
1731
  } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
1732
+
1733
  // Use textContent for elements
1734
  // innerText usage removed for consistency of new lines (jQuery #11153)
1735
  if ( typeof elem.textContent === "string" ) {
1736
  return elem.textContent;
1737
  } else {
1738
+
1739
  // Traverse its children
1740
  for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1741
  ret += getText( elem );
1744
  } else if ( nodeType === 3 || nodeType === 4 ) {
1745
  return elem.nodeValue;
1746
  }
1747
+
1748
  // Do not include comment or processing instruction nodes
1749
 
1750
  return ret;
1772
 
1773
  preFilter: {
1774
  "ATTR": function( match ) {
1775
+ match[ 1 ] = match[ 1 ].replace( runescape, funescape );
1776
 
1777
  // Move the given value to match[3] whether quoted or unquoted
1778
+ match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
1779
+ match[ 5 ] || "" ).replace( runescape, funescape );
1780
 
1781
+ if ( match[ 2 ] === "~=" ) {
1782
+ match[ 3 ] = " " + match[ 3 ] + " ";
1783
  }
1784
 
1785
  return match.slice( 0, 4 );
1786
  },
1787
 
1788
  "CHILD": function( match ) {
1789
+
1790
  /* matches from matchExpr["CHILD"]
1791
  1 type (only|nth|...)
1792
  2 what (child|of-type)
1797
  7 sign of y-component
1798
  8 y of y-component
1799
  */
1800
+ match[ 1 ] = match[ 1 ].toLowerCase();
1801
+
1802
+ if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
1803
 
 
1804
  // nth-* requires argument
1805
+ if ( !match[ 3 ] ) {
1806
+ Sizzle.error( match[ 0 ] );
1807
  }
1808
 
1809
  // numeric x and y parameters for Expr.filter.CHILD
1810
  // remember that false/true cast respectively to 0/1
1811
+ match[ 4 ] = +( match[ 4 ] ?
1812
+ match[ 5 ] + ( match[ 6 ] || 1 ) :
1813
+ 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
1814
+ match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
1815
 
1816
+ // other types prohibit arguments
1817
+ } else if ( match[ 3 ] ) {
1818
+ Sizzle.error( match[ 0 ] );
1819
  }
1820
 
1821
  return match;
1823
 
1824
  "PSEUDO": function( match ) {
1825
  var excess,
1826
+ unquoted = !match[ 6 ] && match[ 2 ];
1827
 
1828
+ if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
1829
  return null;
1830
  }
1831
 
1832
  // Accept quoted arguments as-is
1833
+ if ( match[ 3 ] ) {
1834
+ match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
1835
 
1836
  // Strip excess characters from unquoted arguments
1837
  } else if ( unquoted && rpseudo.test( unquoted ) &&
1838
+
1839
  // Get excess from tokenize (recursively)
1840
+ ( excess = tokenize( unquoted, true ) ) &&
1841
+
1842
  // advance to the next closing parenthesis
1843
+ ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
1844
 
1845
  // excess is a negative index
1846
+ match[ 0 ] = match[ 0 ].slice( 0, excess );
1847
+ match[ 2 ] = unquoted.slice( 0, excess );
1848
  }
1849
 
1850
  // Return only captures needed by the pseudo filter method (type and argument)
1857
  "TAG": function( nodeNameSelector ) {
1858
  var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1859
  return nodeNameSelector === "*" ?
1860
+ function() {
1861
+ return true;
1862
+ } :
1863
  function( elem ) {
1864
  return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1865
  };
1869
  var pattern = classCache[ className + " " ];
1870
 
1871
  return pattern ||
1872
+ ( pattern = new RegExp( "(^|" + whitespace +
1873
+ ")" + className + "(" + whitespace + "|$)" ) ) && classCache(
1874
+ className, function( elem ) {
1875
+ return pattern.test(
1876
+ typeof elem.className === "string" && elem.className ||
1877
+ typeof elem.getAttribute !== "undefined" &&
1878
+ elem.getAttribute( "class" ) ||
1879
+ ""
1880
+ );
1881
+ } );
1882
  },
1883
 
1884
  "ATTR": function( name, operator, check ) {
1894
 
1895
  result += "";
1896
 
1897
+ /* eslint-disable max-len */
1898
+
1899
  return operator === "=" ? result === check :
1900
  operator === "!=" ? result !== check :
1901
  operator === "^=" ? check && result.indexOf( check ) === 0 :
1904
  operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1905
  operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1906
  false;
1907
+ /* eslint-enable max-len */
1908
+
1909
  };
1910
  },
1911
 
1912
+ "CHILD": function( type, what, _argument, first, last ) {
1913
  var simple = type.slice( 0, 3 ) !== "nth",
1914
  forward = type.slice( -4 ) !== "last",
1915
  ofType = what === "of-type";
1921
  return !!elem.parentNode;
1922
  } :
1923
 
1924
+ function( elem, _context, xml ) {
1925
  var cache, uniqueCache, outerCache, node, nodeIndex, start,
1926
  dir = simple !== forward ? "nextSibling" : "previousSibling",
1927
  parent = elem.parentNode,
1935
  if ( simple ) {
1936
  while ( dir ) {
1937
  node = elem;
1938
+ while ( ( node = node[ dir ] ) ) {
1939
  if ( ofType ?
1940
  node.nodeName.toLowerCase() === name :
1941
  node.nodeType === 1 ) {
1943
  return false;
1944
  }
1945
  }
1946
+
1947
  // Reverse direction for :only-* (if we haven't yet done so)
1948
  start = dir = type === "only" && !start && "nextSibling";
1949
  }
1959
 
1960
  // ...in a gzip-friendly way
1961
  node = parent;
1962
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
1963
 
1964
  // Support: IE <9 only
1965
  // Defend against cloned attroperties (jQuery gh-1709)
1966
  uniqueCache = outerCache[ node.uniqueID ] ||
1967
+ ( outerCache[ node.uniqueID ] = {} );
1968
 
1969
  cache = uniqueCache[ type ] || [];
1970
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1971
  diff = nodeIndex && cache[ 2 ];
1972
  node = nodeIndex && parent.childNodes[ nodeIndex ];
1973
 
1974
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
1975
 
1976
  // Fallback to seeking `elem` from the start
1977
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
1978
 
1979
  // When found, cache indexes on `parent` and break
1980
  if ( node.nodeType === 1 && ++diff && node === elem ) {
1984
  }
1985
 
1986
  } else {
1987
+
1988
  // Use previously-cached element index if available
1989
  if ( useCache ) {
1990
+
1991
  // ...in a gzip-friendly way
1992
  node = elem;
1993
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
1994
 
1995
  // Support: IE <9 only
1996
  // Defend against cloned attroperties (jQuery gh-1709)
1997
  uniqueCache = outerCache[ node.uniqueID ] ||
1998
+ ( outerCache[ node.uniqueID ] = {} );
1999
 
2000
  cache = uniqueCache[ type ] || [];
2001
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
2005
  // xml :nth-child(...)
2006
  // or :nth-last-child(...) or :nth(-last)?-of-type(...)
2007
  if ( diff === false ) {
2008
+
2009
  // Use the same loop as above to seek `elem` from the start
2010
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
2011
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
2012
 
2013
  if ( ( ofType ?
2014
  node.nodeName.toLowerCase() === name :
2017
 
2018
  // Cache the index of each encountered element
2019
  if ( useCache ) {
2020
+ outerCache = node[ expando ] ||
2021
+ ( node[ expando ] = {} );
2022
 
2023
  // Support: IE <9 only
2024
  // Defend against cloned attroperties (jQuery gh-1709)
2025
  uniqueCache = outerCache[ node.uniqueID ] ||
2026
+ ( outerCache[ node.uniqueID ] = {} );
2027
 
2028
  uniqueCache[ type ] = [ dirruns, diff ];
2029
  }
2044
  },
2045
 
2046
  "PSEUDO": function( pseudo, argument ) {
2047
+
2048
  // pseudo-class names are case-insensitive
2049
  // http://www.w3.org/TR/selectors/#pseudo-classes
2050
  // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
2064
  if ( fn.length > 1 ) {
2065
  args = [ pseudo, pseudo, "", argument ];
2066
  return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
2067
+ markFunction( function( seed, matches ) {
2068
  var idx,
2069
  matched = fn( seed, argument ),
2070
  i = matched.length;
2071
  while ( i-- ) {
2072
+ idx = indexOf( seed, matched[ i ] );
2073
+ seed[ idx ] = !( matches[ idx ] = matched[ i ] );
2074
  }
2075
+ } ) :
2076
  function( elem ) {
2077
  return fn( elem, 0, args );
2078
  };
2083
  },
2084
 
2085
  pseudos: {
2086
+
2087
  // Potentially complex pseudos
2088
+ "not": markFunction( function( selector ) {
2089
+
2090
  // Trim the selector passed to compile
2091
  // to avoid treating leading and trailing
2092
  // spaces as combinators
2095
  matcher = compile( selector.replace( rtrim, "$1" ) );
2096
 
2097
  return matcher[ expando ] ?
2098
+ markFunction( function( seed, matches, _context, xml ) {
2099
  var elem,
2100
  unmatched = matcher( seed, null, xml, [] ),
2101
  i = seed.length;
2102
 
2103
  // Match elements unmatched by `matcher`
2104
  while ( i-- ) {
2105
+ if ( ( elem = unmatched[ i ] ) ) {
2106
+ seed[ i ] = !( matches[ i ] = elem );
2107
  }
2108
  }
2109
+ } ) :
2110
+ function( elem, _context, xml ) {
2111
+ input[ 0 ] = elem;
2112
  matcher( input, null, xml, results );
2113
+
2114
  // Don't keep the element (issue #299)
2115
+ input[ 0 ] = null;
2116
  return !results.pop();
2117
  };
2118
+ } ),
2119
 
2120
+ "has": markFunction( function( selector ) {
2121
  return function( elem ) {
2122
  return Sizzle( selector, elem ).length > 0;
2123
  };
2124
+ } ),
2125
 
2126
+ "contains": markFunction( function( text ) {
2127
  text = text.replace( runescape, funescape );
2128
  return function( elem ) {
2129
  return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
2130
  };
2131
+ } ),
2132
 
2133
  // "Whether an element is represented by a :lang() selector
2134
  // is based solely on the element's language value
2138
  // The identifier C does not have to be a valid language name."
2139
  // http://www.w3.org/TR/selectors/#lang-pseudo
2140
  "lang": markFunction( function( lang ) {
2141
+
2142
  // lang value must be a valid identifier
2143
+ if ( !ridentifier.test( lang || "" ) ) {
2144
  Sizzle.error( "unsupported lang: " + lang );
2145
  }
2146
  lang = lang.replace( runescape, funescape ).toLowerCase();
2147
  return function( elem ) {
2148
  var elemLang;
2149
  do {
2150
+ if ( ( elemLang = documentIsHTML ?
2151
  elem.lang :
2152
+ elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
2153
 
2154
  elemLang = elemLang.toLowerCase();
2155
  return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2156
  }
2157
+ } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
2158
  return false;
2159
  };
2160
+ } ),
2161
 
2162
  // Miscellaneous
2163
  "target": function( elem ) {
2170
  },
2171
 
2172
  "focus": function( elem ) {
2173
+ return elem === document.activeElement &&
2174
+ ( !document.hasFocus || document.hasFocus() ) &&
2175
+ !!( elem.type || elem.href || ~elem.tabIndex );
2176
  },
2177
 
2178
  // Boolean properties
2180
  "disabled": createDisabledPseudo( true ),
2181
 
2182
  "checked": function( elem ) {
2183
+
2184
  // In CSS3, :checked should return both checked and selected elements
2185
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2186
  var nodeName = elem.nodeName.toLowerCase();
2187
+ return ( nodeName === "input" && !!elem.checked ) ||
2188
+ ( nodeName === "option" && !!elem.selected );
2189
  },
2190
 
2191
  "selected": function( elem ) {
2192
+
2193
  // Accessing this property makes selected-by-default
2194
  // options in Safari work properly
2195
  if ( elem.parentNode ) {
2196
+ // eslint-disable-next-line no-unused-expressions
2197
  elem.parentNode.selectedIndex;
2198
  }
2199
 
2202
 
2203
  // Contents
2204
  "empty": function( elem ) {
2205
+
2206
  // http://www.w3.org/TR/selectors/#empty-pseudo
2207
  // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
2208
  // but not by others (comment: 8; processing instruction: 7; etc.)
2216
  },
2217
 
2218
  "parent": function( elem ) {
2219
+ return !Expr.pseudos[ "empty" ]( elem );
2220
  },
2221
 
2222
  // Element/input types
2240
 
2241
  // Support: IE<8
2242
  // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2243
+ ( ( attr = elem.getAttribute( "type" ) ) == null ||
2244
+ attr.toLowerCase() === "text" );
2245
  },
2246
 
2247
  // Position-in-collection
2248
+ "first": createPositionalPseudo( function() {
2249
  return [ 0 ];
2250
+ } ),
2251
 
2252
+ "last": createPositionalPseudo( function( _matchIndexes, length ) {
2253
  return [ length - 1 ];
2254
+ } ),
2255
 
2256
+ "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
2257
  return [ argument < 0 ? argument + length : argument ];
2258
+ } ),
2259
 
2260
+ "even": createPositionalPseudo( function( matchIndexes, length ) {
2261
  var i = 0;
2262
  for ( ; i < length; i += 2 ) {
2263
  matchIndexes.push( i );
2264
  }
2265
  return matchIndexes;
2266
+ } ),
2267
 
2268
+ "odd": createPositionalPseudo( function( matchIndexes, length ) {
2269
  var i = 1;
2270
  for ( ; i < length; i += 2 ) {
2271
  matchIndexes.push( i );
2272
  }
2273
  return matchIndexes;
2274
+ } ),
2275
 
2276
+ "lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2277
  var i = argument < 0 ?
2278
  argument + length :
2279
  argument > length ?
2283
  matchIndexes.push( i );
2284
  }
2285
  return matchIndexes;
2286
+ } ),
2287
 
2288
+ "gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2289
  var i = argument < 0 ? argument + length : argument;
2290
  for ( ; ++i < length; ) {
2291
  matchIndexes.push( i );
2292
  }
2293
  return matchIndexes;
2294
+ } )
2295
  }
2296
  };
2297
 
2298
+ Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
2299
 
2300
  // Add button/input type pseudos
2301
  for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
2326
  while ( soFar ) {
2327
 
2328
  // Comma and first run
2329
+ if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
2330
  if ( match ) {
2331
+
2332
  // Don't consume trailing commas as valid
2333
+ soFar = soFar.slice( match[ 0 ].length ) || soFar;
2334
  }
2335
+ groups.push( ( tokens = [] ) );
2336
  }
2337
 
2338
  matched = false;
2339
 
2340
  // Combinators
2341
+ if ( ( match = rcombinators.exec( soFar ) ) ) {
2342
  matched = match.shift();
2343
+ tokens.push( {
2344
  value: matched,
2345
+
2346
  // Cast descendant combinators to space
2347
+ type: match[ 0 ].replace( rtrim, " " )
2348
+ } );
2349
  soFar = soFar.slice( matched.length );
2350
  }
2351
 
2352
  // Filters
2353
  for ( type in Expr.filter ) {
2354
+ if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
2355
+ ( match = preFilters[ type ]( match ) ) ) ) {
2356
  matched = match.shift();
2357
+ tokens.push( {
2358
  value: matched,
2359
  type: type,
2360
  matches: match
2361
+ } );
2362
  soFar = soFar.slice( matched.length );
2363
  }
2364
  }
2375
  soFar.length :
2376
  soFar ?
2377
  Sizzle.error( selector ) :
2378
+
2379
  // Cache the tokens
2380
  tokenCache( selector, groups ).slice( 0 );
2381
  };
2385
  len = tokens.length,
2386
  selector = "";
2387
  for ( ; i < len; i++ ) {
2388
+ selector += tokens[ i ].value;
2389
  }
2390
  return selector;
2391
  }
2398
  doneName = done++;
2399
 
2400
  return combinator.first ?
2401
+
2402
  // Check against closest ancestor/preceding element
2403
  function( elem, context, xml ) {
2404
+ while ( ( elem = elem[ dir ] ) ) {
2405
  if ( elem.nodeType === 1 || checkNonElements ) {
2406
  return matcher( elem, context, xml );
2407
  }
2416
 
2417
  // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2418
  if ( xml ) {
2419
+ while ( ( elem = elem[ dir ] ) ) {
2420
  if ( elem.nodeType === 1 || checkNonElements ) {
2421
  if ( matcher( elem, context, xml ) ) {
2422
  return true;
2424
  }
2425
  }
2426
  } else {
2427
+ while ( ( elem = elem[ dir ] ) ) {
2428
  if ( elem.nodeType === 1 || checkNonElements ) {
2429
+ outerCache = elem[ expando ] || ( elem[ expando ] = {} );
2430
 
2431
  // Support: IE <9 only
2432
  // Defend against cloned attroperties (jQuery gh-1709)
2433
+ uniqueCache = outerCache[ elem.uniqueID ] ||
2434
+ ( outerCache[ elem.uniqueID ] = {} );
2435
 
2436
  if ( skip && skip === elem.nodeName.toLowerCase() ) {
2437
  elem = elem[ dir ] || elem;
2438
+ } else if ( ( oldCache = uniqueCache[ key ] ) &&
2439
  oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2440
 
2441
  // Assign to newCache so results back-propagate to previous elements
2442
+ return ( newCache[ 2 ] = oldCache[ 2 ] );
2443
  } else {
2444
+
2445
  // Reuse newcache so results back-propagate to previous elements
2446
  uniqueCache[ key ] = newCache;
2447
 
2448
  // A match means we're done; a fail means we have to keep checking
2449
+ if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
2450
  return true;
2451
  }
2452
  }
2462
  function( elem, context, xml ) {
2463
  var i = matchers.length;
2464
  while ( i-- ) {
2465
+ if ( !matchers[ i ]( elem, context, xml ) ) {
2466
  return false;
2467
  }
2468
  }
2469
  return true;
2470
  } :
2471
+ matchers[ 0 ];
2472
  }
2473
 
2474
  function multipleContexts( selector, contexts, results ) {
2475
  var i = 0,
2476
  len = contexts.length;
2477
  for ( ; i < len; i++ ) {
2478
+ Sizzle( selector, contexts[ i ], results );
2479
  }
2480
  return results;
2481
  }
2488
  mapped = map != null;
2489
 
2490
  for ( ; i < len; i++ ) {
2491
+ if ( ( elem = unmatched[ i ] ) ) {
2492
  if ( !filter || filter( elem, context, xml ) ) {
2493
  newUnmatched.push( elem );
2494
  if ( mapped ) {
2508
  if ( postFinder && !postFinder[ expando ] ) {
2509
  postFinder = setMatcher( postFinder, postSelector );
2510
  }
2511
+ return markFunction( function( seed, results, context, xml ) {
2512
  var temp, i, elem,
2513
  preMap = [],
2514
  postMap = [],
2515
  preexisting = results.length,
2516
 
2517
  // Get initial elements from seed or context
2518
+ elems = seed || multipleContexts(
2519
+ selector || "*",
2520
+ context.nodeType ? [ context ] : context,
2521
+ []
2522
+ ),
2523
 
2524
  // Prefilter to get matcher input, preserving a map for seed-results synchronization
2525
  matcherIn = preFilter && ( seed || !selector ) ?
2527
  elems,
2528
 
2529
  matcherOut = matcher ?
2530
+
2531
  // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2532
  postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2533
 
2551
  // Un-match failing elements by moving them back to matcherIn
2552
  i = temp.length;
2553
  while ( i-- ) {
2554
+ if ( ( elem = temp[ i ] ) ) {
2555
+ matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
2556
  }
2557
  }
2558
  }
2560
  if ( seed ) {
2561
  if ( postFinder || preFilter ) {
2562
  if ( postFinder ) {
2563
+
2564
  // Get the final matcherOut by condensing this intermediate into postFinder contexts
2565
  temp = [];
2566
  i = matcherOut.length;
2567
  while ( i-- ) {
2568
+ if ( ( elem = matcherOut[ i ] ) ) {
2569
+
2570
  // Restore matcherIn since elem is not yet a final match
2571
+ temp.push( ( matcherIn[ i ] = elem ) );
2572
  }
2573
  }
2574
+ postFinder( null, ( matcherOut = [] ), temp, xml );
2575
  }
2576
 
2577
  // Move matched elements from seed to results to keep them synchronized
2578
  i = matcherOut.length;
2579
  while ( i-- ) {
2580
+ if ( ( elem = matcherOut[ i ] ) &&
2581
+ ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
2582
 
2583
+ seed[ temp ] = !( results[ temp ] = elem );
2584
  }
2585
  }
2586
  }
2598
  push.apply( results, matcherOut );
2599
  }
2600
  }
2601
+ } );
2602
  }
2603
 
2604
  function matcherFromTokens( tokens ) {
2605
  var checkContext, matcher, j,
2606
  len = tokens.length,
2607
+ leadingRelative = Expr.relative[ tokens[ 0 ].type ],
2608
+ implicitRelative = leadingRelative || Expr.relative[ " " ],
2609
  i = leadingRelative ? 1 : 0,
2610
 
2611
  // The foundational matcher ensures that elements are reachable from top-level context(s)
2617
  }, implicitRelative, true ),
2618
  matchers = [ function( elem, context, xml ) {
2619
  var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2620
+ ( checkContext = context ).nodeType ?
2621
  matchContext( elem, context, xml ) :
2622
  matchAnyContext( elem, context, xml ) );
2623
+
2624
  // Avoid hanging onto element (issue #299)
2625
  checkContext = null;
2626
  return ret;
2627
  } ];
2628
 
2629
  for ( ; i < len; i++ ) {
2630
+ if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
2631
+ matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
2632
  } else {
2633
+ matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
2634
 
2635
  // Return special upon seeing a positional matcher
2636
  if ( matcher[ expando ] ) {
2637
+
2638
  // Find the next relative operator (if any) for proper handling
2639
  j = ++i;
2640
  for ( ; j < len; j++ ) {
2641
+ if ( Expr.relative[ tokens[ j ].type ] ) {
2642
  break;
2643
  }
2644
  }
2645
  return setMatcher(
2646
  i > 1 && elementMatcher( matchers ),
2647
  i > 1 && toSelector(
2648
+
2649
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
2650
+ tokens
2651
+ .slice( 0, i - 1 )
2652
+ .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
2653
  ).replace( rtrim, "$1" ),
2654
  matcher,
2655
  i < j && matcherFromTokens( tokens.slice( i, j ) ),
2656
+ j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
2657
  j < len && toSelector( tokens )
2658
  );
2659
  }
2674
  unmatched = seed && [],
2675
  setMatched = [],
2676
  contextBackup = outermostContext,
2677
+
2678
  // We must always have either seed elements or outermost context
2679
+ elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
2680
+
2681
  // Use integer dirruns iff this is the outermost matcher
2682
+ dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
2683
  len = elems.length;
2684
 
2685
  if ( outermost ) {
2686
+
2687
+ // Support: IE 11+, Edge 17 - 18+
2688
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2689
+ // two documents; shallow comparisons work.
2690
+ // eslint-disable-next-line eqeqeq
2691
+ outermostContext = context == document || context || outermost;
2692
  }
2693
 
2694
  // Add elements passing elementMatchers directly to results
2695
  // Support: IE<9, Safari
2696
  // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
2697
+ for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
2698
  if ( byElement && elem ) {
2699
  j = 0;
2700
+
2701
+ // Support: IE 11+, Edge 17 - 18+
2702
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2703
+ // two documents; shallow comparisons work.
2704
+ // eslint-disable-next-line eqeqeq
2705
+ if ( !context && elem.ownerDocument != document ) {
2706
  setDocument( elem );
2707
  xml = !documentIsHTML;
2708
  }
2709
+ while ( ( matcher = elementMatchers[ j++ ] ) ) {
2710
+ if ( matcher( elem, context || document, xml ) ) {
2711
  results.push( elem );
2712
  break;
2713
  }
2719
 
2720
  // Track unmatched elements for set filters
2721
  if ( bySet ) {
2722
+
2723
  // They will have gone through all possible matchers
2724
+ if ( ( elem = !matcher && elem ) ) {
2725
  matchedCount--;
2726
  }
2727
 
2745
  // numerically zero.
2746
  if ( bySet && i !== matchedCount ) {
2747
  j = 0;
2748
+ while ( ( matcher = setMatchers[ j++ ] ) ) {
2749
  matcher( unmatched, setMatched, context, xml );
2750
  }
2751
 
2752
  if ( seed ) {
2753
+
2754
  // Reintegrate element matches to eliminate the need for sorting
2755
  if ( matchedCount > 0 ) {
2756
  while ( i-- ) {
2757
+ if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
2758
+ setMatched[ i ] = pop.call( results );
2759
  }
2760
  }
2761
  }
2796
  cached = compilerCache[ selector + " " ];
2797
 
2798
  if ( !cached ) {
2799
+
2800
  // Generate a function of recursive functions that can be used to check each element
2801
  if ( !match ) {
2802
  match = tokenize( selector );
2803
  }
2804
  i = match.length;
2805
  while ( i-- ) {
2806
+ cached = matcherFromTokens( match[ i ] );
2807
  if ( cached[ expando ] ) {
2808
  setMatchers.push( cached );
2809
  } else {
2812
  }
2813
 
2814
  // Cache the compiled function
2815
+ cached = compilerCache(
2816
+ selector,
2817
+ matcherFromGroupMatchers( elementMatchers, setMatchers )
2818
+ );
2819
 
2820
  // Save selector and tokenization
2821
  cached.selector = selector;
2835
  select = Sizzle.select = function( selector, context, results, seed ) {
2836
  var i, tokens, token, type, find,
2837
  compiled = typeof selector === "function" && selector,
2838
+ match = !seed && tokenize( ( selector = compiled.selector || selector ) );
2839
 
2840
  results = results || [];
2841
 
2844
  if ( match.length === 1 ) {
2845
 
2846
  // Reduce context if the leading compound selector is an ID
2847
+ tokens = match[ 0 ] = match[ 0 ].slice( 0 );
2848
+ if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
2849
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
2850
 
2851
+ context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
2852
+ .replace( runescape, funescape ), context ) || [] )[ 0 ];
2853
  if ( !context ) {
2854
  return results;
2855
 
2862
  }
2863
 
2864
  // Fetch a seed set for right-to-left matching
2865
+ i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
2866
  while ( i-- ) {
2867
+ token = tokens[ i ];
2868
 
2869
  // Abort if we hit a combinator
2870
+ if ( Expr.relative[ ( type = token.type ) ] ) {
2871
  break;
2872
  }
2873
+ if ( ( find = Expr.find[ type ] ) ) {
2874
+
2875
  // Search, expanding context for leading sibling combinators
2876
+ if ( ( seed = find(
2877
+ token.matches[ 0 ].replace( runescape, funescape ),
2878
+ rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
2879
+ context
2880
+ ) ) ) {
2881
 
2882
  // If seed is empty or no tokens remain, we can return early
2883
  tokens.splice( i, 1 );
2908
  // One-time assignments
2909
 
2910
  // Sort stability
2911
+ support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
2912
 
2913
  // Support: Chrome 14-35+
2914
  // Always assume duplicates if they aren't passed to the comparison function
2919
 
2920
  // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2921
  // Detached nodes confoundingly follow *each other*
2922
+ support.sortDetached = assert( function( el ) {
2923
+
2924
  // Should return 1, but returns 4 (following)
2925
+ return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
2926
+ } );
2927
 
2928
  // Support: IE<8
2929
  // Prevent attribute/property "interpolation"
2930
  // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2931
+ if ( !assert( function( el ) {
2932
  el.innerHTML = "<a href='#'></a>";
2933
+ return el.firstChild.getAttribute( "href" ) === "#";
2934
+ } ) ) {
2935
  addHandle( "type|href|height|width", function( elem, name, isXML ) {
2936
  if ( !isXML ) {
2937
  return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2938
  }
2939
+ } );
2940
  }
2941
 
2942
  // Support: IE<9
2943
  // Use defaultValue in place of getAttribute("value")
2944
+ if ( !support.attributes || !assert( function( el ) {
2945
  el.innerHTML = "<input/>";
2946
  el.firstChild.setAttribute( "value", "" );
2947
  return el.firstChild.getAttribute( "value" ) === "";
2948
+ } ) ) {
2949
+ addHandle( "value", function( elem, _name, isXML ) {
2950
  if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2951
  return elem.defaultValue;
2952
  }
2953
+ } );
2954
  }
2955
 
2956
  // Support: IE<9
2957
  // Use getAttributeNode to fetch booleans when getAttribute lies
2958
+ if ( !assert( function( el ) {
2959
+ return el.getAttribute( "disabled" ) == null;
2960
+ } ) ) {
2961
  addHandle( booleans, function( elem, name, isXML ) {
2962
  var val;
2963
  if ( !isXML ) {
2964
  return elem[ name ] === true ? name.toLowerCase() :
2965
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
2966
  val.value :
2967
+ null;
2968
  }
2969
+ } );
2970
  }
2971
 
2972
  return Sizzle;
2973
 
2974
+ } )( window );
2975
 
2976
 
2977
 
3340
  parents: function( elem ) {
3341
  return dir( elem, "parentNode" );
3342
  },
3343
+ parentsUntil: function( elem, _i, until ) {
3344
  return dir( elem, "parentNode", until );
3345
  },
3346
  next: function( elem ) {
3355
  prevAll: function( elem ) {
3356
  return dir( elem, "previousSibling" );
3357
  },
3358
+ nextUntil: function( elem, _i, until ) {
3359
  return dir( elem, "nextSibling", until );
3360
  },
3361
+ prevUntil: function( elem, _i, until ) {
3362
  return dir( elem, "previousSibling", until );
3363
  },
3364
  siblings: function( elem ) {
3368
  return siblings( elem.firstChild );
3369
  },
3370
  contents: function( elem ) {
3371
+ if ( elem.contentDocument != null &&
3372
+
3373
+ // Support: IE 11+
3374
+ // <object> elements with no `data` attribute has an object
3375
+ // `contentDocument` with a `null` prototype.
3376
+ getProto( elem.contentDocument ) ) {
3377
+
3378
  return elem.contentDocument;
3379
  }
3380
 
3717
  var fns = arguments;
3718
 
3719
  return jQuery.Deferred( function( newDefer ) {
3720
+ jQuery.each( tuples, function( _i, tuple ) {
3721
 
3722
  // Map tuples (progress, done, fail) to arguments (done, fail, progress)
3723
  var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
4170
  // ...except when executing function values
4171
  } else {
4172
  bulk = fn;
4173
+ fn = function( elem, _key, value ) {
4174
  return bulk.call( jQuery( elem ), value );
4175
  };
4176
  }
4205
  rdashAlpha = /-([a-z])/g;
4206
 
4207
  // Used by camelCase as callback to replace()
4208
+ function fcamelCase( _all, letter ) {
4209
  return letter.toUpperCase();
4210
  }
4211
 
4244
 
4245
  // If not, create one
4246
  if ( !value ) {
4247
+ value = Object.create( null );
4248
 
4249
  // We can accept data for non-element nodes in modern browsers,
4250
  // but we should not, see #8335.
4733
  jQuery.css( elem, "display" ) === "none";
4734
  };
4735
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4736
 
4737
 
4738
  function adjustCSS( elem, prop, valueParts, tween ) {
4903
 
4904
 
4905
 
4906
+ ( function() {
4907
+ var fragment = document.createDocumentFragment(),
4908
+ div = fragment.appendChild( document.createElement( "div" ) ),
4909
+ input = document.createElement( "input" );
4910
+
4911
+ // Support: Android 4.0 - 4.3 only
4912
+ // Check state lost if the name is set (#11217)
4913
+ // Support: Windows Web Apps (WWA)
4914
+ // `name` and `type` must use .setAttribute for WWA (#14901)
4915
+ input.setAttribute( "type", "radio" );
4916
+ input.setAttribute( "checked", "checked" );
4917
+ input.setAttribute( "name", "t" );
4918
+
4919
+ div.appendChild( input );
4920
+
4921
+ // Support: Android <=4.1 only
4922
+ // Older WebKit doesn't clone checked state correctly in fragments
4923
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4924
+
4925
+ // Support: IE <=11 only
4926
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
4927
+ div.innerHTML = "<textarea>x</textarea>";
4928
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4929
 
4930
  // Support: IE <=9 only
4931
+ // IE <=9 replaces <option> tags with their contents when inserted outside of
4932
+ // the select element.
4933
+ div.innerHTML = "<option></option>";
4934
+ support.option = !!div.lastChild;
4935
+ } )();
4936
+
4937
+
4938
+ // We have to close these tags to support XHTML (#13200)
4939
+ var wrapMap = {
4940
 
4941
  // XHTML parsers do not magically insert elements in the
4942
  // same way that tag soup parsers do. So we cannot shorten
4949
  _default: [ 0, "", "" ]
4950
  };
4951
 
 
 
 
4952
  wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
4953
  wrapMap.th = wrapMap.td;
4954
 
4955
+ // Support: IE <=9 only
4956
+ if ( !support.option ) {
4957
+ wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
4958
+ }
4959
+
4960
 
4961
  function getAll( context, tag ) {
4962
 
5089
  }
5090
 
5091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5092
  var
5093
  rkeyEvent = /^key/,
5094
  rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
5197
  special, handlers, type, namespaces, origType,
5198
  elemData = dataPriv.get( elem );
5199
 
5200
+ // Only attach events to objects that accept data
5201
+ if ( !acceptData( elem ) ) {
5202
  return;
5203
  }
5204
 
5222
 
5223
  // Init the element's event structure and main handler, if this is the first
5224
  if ( !( events = elemData.events ) ) {
5225
+ events = elemData.events = Object.create( null );
5226
  }
5227
  if ( !( eventHandle = elemData.handle ) ) {
5228
  eventHandle = elemData.handle = function( e ) {
5380
 
5381
  dispatch: function( nativeEvent ) {
5382
 
 
 
 
5383
  var i, j, ret, matched, handleObj, handlerQueue,
5384
  args = new Array( arguments.length ),
5385
+
5386
+ // Make a writable jQuery.Event from the native event object
5387
+ event = jQuery.event.fix( nativeEvent ),
5388
+
5389
+ handlers = (
5390
+ dataPriv.get( this, "events" ) || Object.create( null )
5391
+ )[ event.type ] || [],
5392
  special = jQuery.event.special[ event.type ] || {};
5393
 
5394
  // Use the fix-ed jQuery.Event rather than the (read-only) native event
5963
 
5964
  var
5965
 
 
 
 
 
 
 
 
5966
  // Support: IE <=10 - 11, Edge 12 - 13 only
5967
  // In IE/Edge using regex groups here causes severe slowdowns.
5968
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
5999
  }
6000
 
6001
  function cloneCopyEvent( src, dest ) {
6002
+ var i, l, type, pdataOld, udataOld, udataCur, events;
6003
 
6004
  if ( dest.nodeType !== 1 ) {
6005
  return;
6007
 
6008
  // 1. Copy private data: events, handlers, etc.
6009
  if ( dataPriv.hasData( src ) ) {
6010
+ pdataOld = dataPriv.get( src );
 
6011
  events = pdataOld.events;
6012
 
6013
  if ( events ) {
6014
+ dataPriv.remove( dest, "handle events" );
 
6015
 
6016
  for ( type in events ) {
6017
  for ( i = 0, l = events[ type ].length; i < l; i++ ) {
6047
  function domManip( collection, args, callback, ignored ) {
6048
 
6049
  // Flatten any nested arrays
6050
+ args = flat( args );
6051
 
6052
  var fragment, first, scripts, hasScripts, node, doc,
6053
  i = 0,
6122
  if ( jQuery._evalUrl && !node.noModule ) {
6123
  jQuery._evalUrl( node.src, {
6124
  nonce: node.nonce || node.getAttribute( "nonce" )
6125
+ }, doc );
6126
  }
6127
  } else {
6128
  DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
6159
 
6160
  jQuery.extend( {
6161
  htmlPrefilter: function( html ) {
6162
+ return html;
6163
  },
6164
 
6165
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
6421
  return view.getComputedStyle( elem );
6422
  };
6423
 
6424
+ var swap = function( elem, options, callback ) {
6425
+ var ret, name,
6426
+ old = {};
6427
+
6428
+ // Remember the old values, and insert the new ones
6429
+ for ( name in options ) {
6430
+ old[ name ] = elem.style[ name ];
6431
+ elem.style[ name ] = options[ name ];
6432
+ }
6433
+
6434
+ ret = callback.call( elem );
6435
+
6436
+ // Revert the old values
6437
+ for ( name in options ) {
6438
+ elem.style[ name ] = old[ name ];
6439
+ }
6440
+
6441
+ return ret;
6442
+ };
6443
+
6444
+
6445
  var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6446
 
6447
 
6499
  }
6500
 
6501
  var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6502
+ reliableTrDimensionsVal, reliableMarginLeftVal,
6503
  container = document.createElement( "div" ),
6504
  div = document.createElement( "div" );
6505
 
6534
  scrollboxSize: function() {
6535
  computeStyleTests();
6536
  return scrollboxSizeVal;
6537
+ },
6538
+
6539
+ // Support: IE 9 - 11+, Edge 15 - 18+
6540
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
6541
+ // set in CSS while `offset*` properties report correct values.
6542
+ // Behavior in IE 9 is more subtle than in newer versions & it passes
6543
+ // some versions of this test; make sure not to make it pass there!
6544
+ reliableTrDimensions: function() {
6545
+ var table, tr, trChild, trStyle;
6546
+ if ( reliableTrDimensionsVal == null ) {
6547
+ table = document.createElement( "table" );
6548
+ tr = document.createElement( "tr" );
6549
+ trChild = document.createElement( "div" );
6550
+
6551
+ table.style.cssText = "position:absolute;left:-11111px";
6552
+ tr.style.height = "1px";
6553
+ trChild.style.height = "9px";
6554
+
6555
+ documentElement
6556
+ .appendChild( table )
6557
+ .appendChild( tr )
6558
+ .appendChild( trChild );
6559
+
6560
+ trStyle = window.getComputedStyle( tr );
6561
+ reliableTrDimensionsVal = parseInt( trStyle.height ) > 3;
6562
+
6563
+ documentElement.removeChild( table );
6564
+ }
6565
+ return reliableTrDimensionsVal;
6566
  }
6567
  } );
6568
  } )();
6687
  fontWeight: "400"
6688
  };
6689
 
6690
+ function setPositiveNumber( _elem, value, subtract ) {
6691
 
6692
  // Any relative (+/-) values have already been
6693
  // normalized at this point
6792
  }
6793
 
6794
 
6795
+ // Support: IE 9 - 11 only
6796
+ // Use offsetWidth/offsetHeight for when box sizing is unreliable.
6797
+ // In those cases, the computed value can be trusted to be border-box.
 
 
 
 
 
6798
  if ( ( !support.boxSizingReliable() && isBorderBox ||
6799
+
6800
+ // Support: IE 10 - 11+, Edge 15 - 18+
6801
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
6802
+ // set in CSS while `offset*` properties report correct values.
6803
+ // Interestingly, in some cases IE 9 doesn't suffer from this issue.
6804
+ !support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
6805
+
6806
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
6807
+ // This happens for inline elements with no explicit setting (gh-3571)
6808
  val === "auto" ||
6809
+
6810
+ // Support: Android <=4.1 - 4.3 only
6811
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6812
  !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
6813
+
6814
+ // Make sure the element is visible & connected
6815
  elem.getClientRects().length ) {
6816
 
6817
  isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
7006
  }
7007
  } );
7008
 
7009
+ jQuery.each( [ "height", "width" ], function( _i, dimension ) {
7010
  jQuery.cssHooks[ dimension ] = {
7011
  get: function( elem, computed, extra ) {
7012
  if ( computed ) {
7779
  clearQueue = type;
7780
  type = undefined;
7781
  }
7782
+ if ( clearQueue ) {
7783
  this.queue( type || "fx", [] );
7784
  }
7785
 
7862
  }
7863
  } );
7864
 
7865
+ jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
7866
  var cssFn = jQuery.fn[ name ];
7867
  jQuery.fn[ name ] = function( speed, easing, callback ) {
7868
  return speed == null || typeof speed === "boolean" ?
8083
  }
8084
  };
8085
 
8086
+ jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
8087
  var getter = attrHandle[ name ] || jQuery.find.attr;
8088
 
8089
  attrHandle[ name ] = function( elem, name, isXML ) {
8707
  special.bindType || type;
8708
 
8709
  // jQuery handler
8710
+ handle = (
8711
+ dataPriv.get( cur, "events" ) || Object.create( null )
8712
+ )[ event.type ] &&
8713
  dataPriv.get( cur, "handle" );
8714
  if ( handle ) {
8715
  handle.apply( cur, data );
8820
 
8821
  jQuery.event.special[ fix ] = {
8822
  setup: function() {
8823
+
8824
+ // Handle: regular nodes (via `this.ownerDocument`), window
8825
+ // (via `this.document`) & document (via `this`).
8826
+ var doc = this.ownerDocument || this.document || this,
8827
  attaches = dataPriv.access( doc, fix );
8828
 
8829
  if ( !attaches ) {
8832
  dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
8833
  },
8834
  teardown: function() {
8835
+ var doc = this.ownerDocument || this.document || this,
8836
  attaches = dataPriv.access( doc, fix ) - 1;
8837
 
8838
  if ( !attaches ) {
8848
  }
8849
  var location = window.location;
8850
 
8851
+ var nonce = { guid: Date.now() };
8852
 
8853
  var rquery = ( /\?/ );
8854
 
8980
  rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
8981
  ( this.checked || !rcheckableType.test( type ) );
8982
  } )
8983
+ .map( function( _i, elem ) {
8984
  var val = jQuery( this ).val();
8985
 
8986
  if ( val == null ) {
9593
  // Add or update anti-cache param if needed
9594
  if ( s.cache === false ) {
9595
  cacheURL = cacheURL.replace( rantiCache, "$1" );
9596
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
9597
+ uncached;
9598
  }
9599
 
9600
  // Put hash and anti-cache on the URL that will be requested (gh-1732)
9727
  response = ajaxHandleResponses( s, jqXHR, responses );
9728
  }
9729
 
9730
+ // Use a noop converter for missing script
9731
+ if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) {
9732
+ s.converters[ "text script" ] = function() {};
9733
+ }
9734
+
9735
  // Convert no matter what (that way responseXXX fields are always set)
9736
  response = ajaxConvert( s, response, jqXHR, isSuccess );
9737
 
9822
  }
9823
  } );
9824
 
9825
+ jQuery.each( [ "get", "post" ], function( _i, method ) {
9826
  jQuery[ method ] = function( url, data, callback, type ) {
9827
 
9828
  // Shift arguments if data argument was omitted
9843
  };
9844
  } );
9845
 
9846
+ jQuery.ajaxPrefilter( function( s ) {
9847
+ var i;
9848
+ for ( i in s.headers ) {
9849
+ if ( i.toLowerCase() === "content-type" ) {
9850
+ s.contentType = s.headers[ i ] || "";
9851
+ }
9852
+ }
9853
+ } );
9854
+
9855
 
9856
+ jQuery._evalUrl = function( url, options, doc ) {
9857
  return jQuery.ajax( {
9858
  url: url,
9859
 
9871
  "text script": function() {}
9872
  },
9873
  dataFilter: function( response ) {
9874
+ jQuery.globalEval( response, options, doc );
9875
  }
9876
  } );
9877
  };
10193
  jQuery.ajaxSetup( {
10194
  jsonp: "callback",
10195
  jsonpCallback: function() {
10196
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
10197
  this[ callback ] = true;
10198
  return callback;
10199
  }
10410
 
10411
 
10412
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10413
  jQuery.expr.pseudos.animated = function( elem ) {
10414
  return jQuery.grep( jQuery.timers, function( fn ) {
10415
  return elem === fn.elem;
10466
  options.using.call( elem, props );
10467
 
10468
  } else {
10469
+ if ( typeof props.top === "number" ) {
10470
+ props.top += "px";
10471
+ }
10472
+ if ( typeof props.left === "number" ) {
10473
+ props.left += "px";
10474
+ }
10475
  curElem.css( props );
10476
  }
10477
  }
10622
  // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
10623
  // getComputedStyle returns percent when specified for top/left/bottom/right;
10624
  // rather than make the css module depend on the offset module, just check for it here
10625
+ jQuery.each( [ "top", "left" ], function( _i, prop ) {
10626
  jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
10627
  function( elem, computed ) {
10628
  if ( computed ) {
10685
  } );
10686
 
10687
 
10688
+ jQuery.each( [
10689
+ "ajaxStart",
10690
+ "ajaxStop",
10691
+ "ajaxComplete",
10692
+ "ajaxError",
10693
+ "ajaxSuccess",
10694
+ "ajaxSend"
10695
+ ], function( _i, type ) {
10696
+ jQuery.fn[ type ] = function( fn ) {
10697
+ return this.on( type, fn );
10698
  };
10699
  } );
10700
 
 
 
 
 
 
 
10701
 
10702
 
10703
 
10719
  return arguments.length === 1 ?
10720
  this.off( selector, "**" ) :
10721
  this.off( types, selector || "**", fn );
10722
+ },
10723
+
10724
+ hover: function( fnOver, fnOut ) {
10725
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
10726
  }
10727
  } );
10728
 
10729
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
10730
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10731
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
10732
+ function( _i, name ) {
10733
+
10734
+ // Handle event binding
10735
+ jQuery.fn[ name ] = function( data, fn ) {
10736
+ return arguments.length > 0 ?
10737
+ this.on( name, null, data, fn ) :
10738
+ this.trigger( name );
10739
+ };
10740
+ } );
10741
+
10742
+
10743
+
10744
+
10745
+ // Support: Android <=4.0 only
10746
+ // Make sure we trim BOM and NBSP
10747
+ var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
10748
+
10749
  // Bind a function to a context, optionally partially applying any
10750
  // arguments.
10751
  // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
10808
  !isNaN( obj - parseFloat( obj ) );
10809
  };
10810
 
10811
+ jQuery.trim = function( text ) {
10812
+ return text == null ?
10813
+ "" :
10814
+ ( text + "" ).replace( rtrim, "" );
10815
+ };
10816
 
10817
 
10818
 
10861
  // Expose jQuery and $ identifiers, even in AMD
10862
  // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
10863
  // and CommonJS for browser emulators (#13566)
10864
+ if ( typeof noGlobal === "undefined" ) {
10865
  window.jQuery = window.$ = jQuery;
10866
  }
10867
 
js/jquery-3.5.0.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! jQuery v3.5.0 | (c) JS Foundation and other contributors | jquery.org/license */
2
+ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t=Object.create(null),V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
js/{jquery-3.4.1.slim.js → jquery-3.5.0.slim.js} RENAMED
@@ -1,5 +1,5 @@
1
  /*!
2
- * jQuery JavaScript Library v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
3
  * https://jquery.com/
4
  *
5
  * Includes Sizzle.js
@@ -9,7 +9,7 @@
9
  * Released under the MIT license
10
  * https://jquery.org/license
11
  *
12
- * Date: 2019-05-01T21:04Z
13
  */
14
  ( function( global, factory ) {
15
 
@@ -47,13 +47,16 @@
47
 
48
  var arr = [];
49
 
50
- var document = window.document;
51
-
52
  var getProto = Object.getPrototypeOf;
53
 
54
  var slice = arr.slice;
55
 
56
- var concat = arr.concat;
 
 
 
 
 
57
 
58
  var push = arr.push;
59
 
@@ -86,6 +89,8 @@ var isWindow = function isWindow( obj ) {
86
  };
87
 
88
 
 
 
89
 
90
 
91
  var preservedScriptAttributes = {
@@ -142,7 +147,7 @@ function toType( obj ) {
142
 
143
 
144
  var
145
- version = "3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
146
 
147
  // Define a local copy of jQuery
148
  jQuery = function( selector, context ) {
@@ -150,11 +155,7 @@ var
150
  // The jQuery object is actually just the init constructor 'enhanced'
151
  // Need init if jQuery is called (just allow error to be thrown if not included)
152
  return new jQuery.fn.init( selector, context );
153
- },
154
-
155
- // Support: Android <=4.0 only
156
- // Make sure we trim BOM and NBSP
157
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
158
 
159
  jQuery.fn = jQuery.prototype = {
160
 
@@ -220,6 +221,18 @@ jQuery.fn = jQuery.prototype = {
220
  return this.eq( -1 );
221
  },
222
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  eq: function( i ) {
224
  var len = this.length,
225
  j = +i + ( i < 0 ? len : 0 );
@@ -353,9 +366,10 @@ jQuery.extend( {
353
  return true;
354
  },
355
 
356
- // Evaluates a script in a global context
357
- globalEval: function( code, options ) {
358
- DOMEval( code, { nonce: options && options.nonce } );
 
359
  },
360
 
361
  each: function( obj, callback ) {
@@ -379,13 +393,6 @@ jQuery.extend( {
379
  return obj;
380
  },
381
 
382
- // Support: Android <=4.0 only
383
- trim: function( text ) {
384
- return text == null ?
385
- "" :
386
- ( text + "" ).replace( rtrim, "" );
387
- },
388
-
389
  // results is for internal usage only
390
  makeArray: function( arr, results ) {
391
  var ret = results || [];
@@ -472,7 +479,7 @@ jQuery.extend( {
472
  }
473
 
474
  // Flatten any nested arrays
475
- return concat.apply( [], ret );
476
  },
477
 
478
  // A global GUID counter for objects
@@ -489,7 +496,7 @@ if ( typeof Symbol === "function" ) {
489
 
490
  // Populate the class2type map
491
  jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
492
- function( i, name ) {
493
  class2type[ "[object " + name + "]" ] = name.toLowerCase();
494
  } );
495
 
@@ -511,17 +518,16 @@ function isArrayLike( obj ) {
511
  }
512
  var Sizzle =
513
  /*!
514
- * Sizzle CSS Selector Engine v2.3.4
515
  * https://sizzlejs.com/
516
  *
517
  * Copyright JS Foundation and other contributors
518
  * Released under the MIT license
519
  * https://js.foundation/
520
  *
521
- * Date: 2019-04-08
522
  */
523
- (function( window ) {
524
-
525
  var i,
526
  support,
527
  Expr,
@@ -561,59 +567,70 @@ var i,
561
  },
562
 
563
  // Instance methods
564
- hasOwn = ({}).hasOwnProperty,
565
  arr = [],
566
  pop = arr.pop,
567
- push_native = arr.push,
568
  push = arr.push,
569
  slice = arr.slice,
 
570
  // Use a stripped-down indexOf as it's faster than native
571
  // https://jsperf.com/thor-indexof-vs-for/5
572
  indexOf = function( list, elem ) {
573
  var i = 0,
574
  len = list.length;
575
  for ( ; i < len; i++ ) {
576
- if ( list[i] === elem ) {
577
  return i;
578
  }
579
  }
580
  return -1;
581
  },
582
 
583
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
 
584
 
585
  // Regular expressions
586
 
587
  // http://www.w3.org/TR/css3-selectors/#whitespace
588
  whitespace = "[\\x20\\t\\r\\n\\f]",
589
 
590
- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
591
- identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
 
592
 
593
  // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
594
  attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
 
595
  // Operator (capture 2)
596
  "*([*^$|!~]?=)" + whitespace +
597
- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
598
- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
599
- "*\\]",
 
 
600
 
601
  pseudos = ":(" + identifier + ")(?:\\((" +
 
602
  // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
603
  // 1. quoted (capture 3; capture 4 or capture 5)
604
  "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
 
605
  // 2. simple (capture 6)
606
  "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
 
607
  // 3. anything else (capture 2)
608
  ".*" +
609
  ")\\)|)",
610
 
611
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
612
  rwhitespace = new RegExp( whitespace + "+", "g" ),
613
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
 
614
 
615
  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
616
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
 
617
  rdescend = new RegExp( whitespace + "|>" ),
618
 
619
  rpseudo = new RegExp( pseudos ),
@@ -625,14 +642,16 @@ var i,
625
  "TAG": new RegExp( "^(" + identifier + "|[*])" ),
626
  "ATTR": new RegExp( "^" + attributes ),
627
  "PSEUDO": new RegExp( "^" + pseudos ),
628
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
629
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
630
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
631
  "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
 
632
  // For use in libraries implementing .is()
633
  // We use this for POS matching in `select`
634
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
635
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
 
636
  },
637
 
638
  rhtml = /HTML$/i,
@@ -648,18 +667,21 @@ var i,
648
 
649
  // CSS escapes
650
  // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
651
- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
652
- funescape = function( _, escaped, escapedWhitespace ) {
653
- var high = "0x" + escaped - 0x10000;
654
- // NaN means non-codepoint
655
- // Support: Firefox<24
656
- // Workaround erroneous numeric interpretation of +"0x"
657
- return high !== high || escapedWhitespace ?
658
- escaped :
 
 
 
 
 
659
  high < 0 ?
660
- // BMP codepoint
661
  String.fromCharCode( high + 0x10000 ) :
662
- // Supplemental Plane codepoint (surrogate pair)
663
  String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
664
  },
665
 
@@ -675,7 +697,8 @@ var i,
675
  }
676
 
677
  // Control characters and (dependent upon position) numbers get escaped as code points
678
- return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
 
679
  }
680
 
681
  // Other potentially-special ASCII characters get backslash-escaped
@@ -700,18 +723,20 @@ var i,
700
  // Optimize for push.apply( _, NodeList )
701
  try {
702
  push.apply(
703
- (arr = slice.call( preferredDoc.childNodes )),
704
  preferredDoc.childNodes
705
  );
 
706
  // Support: Android<4.0
707
  // Detect silently failing push.apply
 
708
  arr[ preferredDoc.childNodes.length ].nodeType;
709
  } catch ( e ) {
710
  push = { apply: arr.length ?
711
 
712
  // Leverage slice if possible
713
  function( target, els ) {
714
- push_native.apply( target, slice.call(els) );
715
  } :
716
 
717
  // Support: IE<9
@@ -719,8 +744,9 @@ try {
719
  function( target, els ) {
720
  var j = target.length,
721
  i = 0;
 
722
  // Can't trust NodeList.length
723
- while ( (target[j++] = els[i++]) ) {}
724
  target.length = j - 1;
725
  }
726
  };
@@ -744,24 +770,21 @@ function Sizzle( selector, context, results, seed ) {
744
 
745
  // Try to shortcut find operations (as opposed to filters) in HTML documents
746
  if ( !seed ) {
747
-
748
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
749
- setDocument( context );
750
- }
751
  context = context || document;
752
 
753
  if ( documentIsHTML ) {
754
 
755
  // If the selector is sufficiently simple, try using a "get*By*" DOM method
756
  // (excepting DocumentFragment context, where the methods don't exist)
757
- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
758
 
759
  // ID selector
760
- if ( (m = match[1]) ) {
761
 
762
  // Document context
763
  if ( nodeType === 9 ) {
764
- if ( (elem = context.getElementById( m )) ) {
765
 
766
  // Support: IE, Opera, Webkit
767
  // TODO: identify versions
@@ -780,7 +803,7 @@ function Sizzle( selector, context, results, seed ) {
780
  // Support: IE, Opera, Webkit
781
  // TODO: identify versions
782
  // getElementById can match elements by name instead of ID
783
- if ( newContext && (elem = newContext.getElementById( m )) &&
784
  contains( context, elem ) &&
785
  elem.id === m ) {
786
 
@@ -790,12 +813,12 @@ function Sizzle( selector, context, results, seed ) {
790
  }
791
 
792
  // Type selector
793
- } else if ( match[2] ) {
794
  push.apply( results, context.getElementsByTagName( selector ) );
795
  return results;
796
 
797
  // Class selector
798
- } else if ( (m = match[3]) && support.getElementsByClassName &&
799
  context.getElementsByClassName ) {
800
 
801
  push.apply( results, context.getElementsByClassName( m ) );
@@ -806,11 +829,11 @@ function Sizzle( selector, context, results, seed ) {
806
  // Take advantage of querySelectorAll
807
  if ( support.qsa &&
808
  !nonnativeSelectorCache[ selector + " " ] &&
809
- (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
810
 
811
  // Support: IE 8 only
812
  // Exclude object elements
813
- (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
814
 
815
  newSelector = selector;
816
  newContext = context;
@@ -819,27 +842,36 @@ function Sizzle( selector, context, results, seed ) {
819
  // descendant combinators, which is not what we want.
820
  // In such cases, we work around the behavior by prefixing every selector in the
821
  // list with an ID selector referencing the scope context.
 
 
822
  // Thanks to Andrew Dupont for this technique.
823
- if ( nodeType === 1 && rdescend.test( selector ) ) {
 
824
 
825
- // Capture the context ID, setting it first if necessary
826
- if ( (nid = context.getAttribute( "id" )) ) {
827
- nid = nid.replace( rcssescape, fcssescape );
828
- } else {
829
- context.setAttribute( "id", (nid = expando) );
 
 
 
 
 
 
 
 
 
830
  }
831
 
832
  // Prefix every selector in the list
833
  groups = tokenize( selector );
834
  i = groups.length;
835
  while ( i-- ) {
836
- groups[i] = "#" + nid + " " + toSelector( groups[i] );
 
837
  }
838
  newSelector = groups.join( "," );
839
-
840
- // Expand context for sibling selectors
841
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
842
- context;
843
  }
844
 
845
  try {
@@ -872,12 +904,14 @@ function createCache() {
872
  var keys = [];
873
 
874
  function cache( key, value ) {
 
875
  // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
876
  if ( keys.push( key + " " ) > Expr.cacheLength ) {
 
877
  // Only keep the most recent entries
878
  delete cache[ keys.shift() ];
879
  }
880
- return (cache[ key + " " ] = value);
881
  }
882
  return cache;
883
  }
@@ -896,17 +930,19 @@ function markFunction( fn ) {
896
  * @param {Function} fn Passed the created element and returns a boolean result
897
  */
898
  function assert( fn ) {
899
- var el = document.createElement("fieldset");
900
 
901
  try {
902
  return !!fn( el );
903
- } catch (e) {
904
  return false;
905
  } finally {
 
906
  // Remove from its parent by default
907
  if ( el.parentNode ) {
908
  el.parentNode.removeChild( el );
909
  }
 
910
  // release memory in IE
911
  el = null;
912
  }
@@ -918,11 +954,11 @@ function assert( fn ) {
918
  * @param {Function} handler The method that will be applied
919
  */
920
  function addHandle( attrs, handler ) {
921
- var arr = attrs.split("|"),
922
  i = arr.length;
923
 
924
  while ( i-- ) {
925
- Expr.attrHandle[ arr[i] ] = handler;
926
  }
927
  }
928
 
@@ -944,7 +980,7 @@ function siblingCheck( a, b ) {
944
 
945
  // Check if b follows a
946
  if ( cur ) {
947
- while ( (cur = cur.nextSibling) ) {
948
  if ( cur === b ) {
949
  return -1;
950
  }
@@ -972,7 +1008,7 @@ function createInputPseudo( type ) {
972
  function createButtonPseudo( type ) {
973
  return function( elem ) {
974
  var name = elem.nodeName.toLowerCase();
975
- return (name === "input" || name === "button") && elem.type === type;
976
  };
977
  }
978
 
@@ -1015,7 +1051,7 @@ function createDisabledPseudo( disabled ) {
1015
  // Where there is no isDisabled, check manually
1016
  /* jshint -W018 */
1017
  elem.isDisabled !== !disabled &&
1018
- inDisabledFieldset( elem ) === disabled;
1019
  }
1020
 
1021
  return elem.disabled === disabled;
@@ -1037,21 +1073,21 @@ function createDisabledPseudo( disabled ) {
1037
  * @param {Function} fn
1038
  */
1039
  function createPositionalPseudo( fn ) {
1040
- return markFunction(function( argument ) {
1041
  argument = +argument;
1042
- return markFunction(function( seed, matches ) {
1043
  var j,
1044
  matchIndexes = fn( [], seed.length, argument ),
1045
  i = matchIndexes.length;
1046
 
1047
  // Match elements found at the specified indexes
1048
  while ( i-- ) {
1049
- if ( seed[ (j = matchIndexes[i]) ] ) {
1050
- seed[j] = !(matches[j] = seed[j]);
1051
  }
1052
  }
1053
- });
1054
- });
1055
  }
1056
 
1057
  /**
@@ -1073,7 +1109,7 @@ support = Sizzle.support = {};
1073
  */
1074
  isXML = Sizzle.isXML = function( elem ) {
1075
  var namespace = elem.namespaceURI,
1076
- docElem = (elem.ownerDocument || elem).documentElement;
1077
 
1078
  // Support: IE <=8
1079
  // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
@@ -1091,7 +1127,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1091
  doc = node ? node.ownerDocument || node : preferredDoc;
1092
 
1093
  // Return early if doc is invalid or already selected
1094
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
 
 
 
 
1095
  return document;
1096
  }
1097
 
@@ -1100,10 +1140,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1100
  docElem = document.documentElement;
1101
  documentIsHTML = !isXML( document );
1102
 
1103
- // Support: IE 9-11, Edge
1104
  // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
1105
- if ( preferredDoc !== document &&
1106
- (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
 
 
 
 
1107
 
1108
  // Support: IE 11, Edge
1109
  if ( subWindow.addEventListener ) {
@@ -1115,25 +1159,36 @@ setDocument = Sizzle.setDocument = function( node ) {
1115
  }
1116
  }
1117
 
 
 
 
 
 
 
 
 
 
 
 
1118
  /* Attributes
1119
  ---------------------------------------------------------------------- */
1120
 
1121
  // Support: IE<8
1122
  // Verify that getAttribute really returns attributes and not properties
1123
  // (excepting IE8 booleans)
1124
- support.attributes = assert(function( el ) {
1125
  el.className = "i";
1126
- return !el.getAttribute("className");
1127
- });
1128
 
1129
  /* getElement(s)By*
1130
  ---------------------------------------------------------------------- */
1131
 
1132
  // Check if getElementsByTagName("*") returns only elements
1133
- support.getElementsByTagName = assert(function( el ) {
1134
- el.appendChild( document.createComment("") );
1135
- return !el.getElementsByTagName("*").length;
1136
- });
1137
 
1138
  // Support: IE<9
1139
  support.getElementsByClassName = rnative.test( document.getElementsByClassName );
@@ -1142,38 +1197,38 @@ setDocument = Sizzle.setDocument = function( node ) {
1142
  // Check if getElementById returns elements by name
1143
  // The broken getElementById methods don't pick up programmatically-set names,
1144
  // so use a roundabout getElementsByName test
1145
- support.getById = assert(function( el ) {
1146
  docElem.appendChild( el ).id = expando;
1147
  return !document.getElementsByName || !document.getElementsByName( expando ).length;
1148
- });
1149
 
1150
  // ID filter and find
1151
  if ( support.getById ) {
1152
- Expr.filter["ID"] = function( id ) {
1153
  var attrId = id.replace( runescape, funescape );
1154
  return function( elem ) {
1155
- return elem.getAttribute("id") === attrId;
1156
  };
1157
  };
1158
- Expr.find["ID"] = function( id, context ) {
1159
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1160
  var elem = context.getElementById( id );
1161
  return elem ? [ elem ] : [];
1162
  }
1163
  };
1164
  } else {
1165
- Expr.filter["ID"] = function( id ) {
1166
  var attrId = id.replace( runescape, funescape );
1167
  return function( elem ) {
1168
  var node = typeof elem.getAttributeNode !== "undefined" &&
1169
- elem.getAttributeNode("id");
1170
  return node && node.value === attrId;
1171
  };
1172
  };
1173
 
1174
  // Support: IE 6 - 7 only
1175
  // getElementById is not reliable as a find shortcut
1176
- Expr.find["ID"] = function( id, context ) {
1177
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1178
  var node, i, elems,
1179
  elem = context.getElementById( id );
@@ -1181,7 +1236,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1181
  if ( elem ) {
1182
 
1183
  // Verify the id attribute
1184
- node = elem.getAttributeNode("id");
1185
  if ( node && node.value === id ) {
1186
  return [ elem ];
1187
  }
@@ -1189,8 +1244,8 @@ setDocument = Sizzle.setDocument = function( node ) {
1189
  // Fall back on getElementsByName
1190
  elems = context.getElementsByName( id );
1191
  i = 0;
1192
- while ( (elem = elems[i++]) ) {
1193
- node = elem.getAttributeNode("id");
1194
  if ( node && node.value === id ) {
1195
  return [ elem ];
1196
  }
@@ -1203,7 +1258,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1203
  }
1204
 
1205
  // Tag
1206
- Expr.find["TAG"] = support.getElementsByTagName ?
1207
  function( tag, context ) {
1208
  if ( typeof context.getElementsByTagName !== "undefined" ) {
1209
  return context.getElementsByTagName( tag );
@@ -1218,12 +1273,13 @@ setDocument = Sizzle.setDocument = function( node ) {
1218
  var elem,
1219
  tmp = [],
1220
  i = 0,
 
1221
  // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
1222
  results = context.getElementsByTagName( tag );
1223
 
1224
  // Filter out possible comments
1225
  if ( tag === "*" ) {
1226
- while ( (elem = results[i++]) ) {
1227
  if ( elem.nodeType === 1 ) {
1228
  tmp.push( elem );
1229
  }
@@ -1235,7 +1291,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1235
  };
1236
 
1237
  // Class
1238
- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
1239
  if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1240
  return context.getElementsByClassName( className );
1241
  }
@@ -1256,10 +1312,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1256
  // See https://bugs.jquery.com/ticket/13378
1257
  rbuggyQSA = [];
1258
 
1259
- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
 
1260
  // Build QSA regex
1261
  // Regex strategy adopted from Diego Perini
1262
- assert(function( el ) {
 
 
 
1263
  // Select is set to empty string on purpose
1264
  // This is to test IE's treatment of not explicitly
1265
  // setting a boolean content attribute,
@@ -1273,78 +1333,98 @@ setDocument = Sizzle.setDocument = function( node ) {
1273
  // Nothing should be selected when empty strings follow ^= or $= or *=
1274
  // The test attribute must be unknown in Opera but "safe" for WinRT
1275
  // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1276
- if ( el.querySelectorAll("[msallowcapture^='']").length ) {
1277
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1278
  }
1279
 
1280
  // Support: IE8
1281
  // Boolean attributes and "value" are not treated correctly
1282
- if ( !el.querySelectorAll("[selected]").length ) {
1283
  rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1284
  }
1285
 
1286
  // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
1287
  if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1288
- rbuggyQSA.push("~=");
 
 
 
 
 
 
 
 
 
 
 
 
 
1289
  }
1290
 
1291
  // Webkit/Opera - :checked should return selected option elements
1292
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1293
  // IE8 throws error here and will not see later tests
1294
- if ( !el.querySelectorAll(":checked").length ) {
1295
- rbuggyQSA.push(":checked");
1296
  }
1297
 
1298
  // Support: Safari 8+, iOS 8+
1299
  // https://bugs.webkit.org/show_bug.cgi?id=136851
1300
  // In-page `selector#id sibling-combinator selector` fails
1301
  if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1302
- rbuggyQSA.push(".#.+[+~]");
1303
  }
1304
- });
1305
 
1306
- assert(function( el ) {
 
 
 
 
 
 
1307
  el.innerHTML = "<a href='' disabled='disabled'></a>" +
1308
  "<select disabled='disabled'><option/></select>";
1309
 
1310
  // Support: Windows 8 Native Apps
1311
  // The type and name attributes are restricted during .innerHTML assignment
1312
- var input = document.createElement("input");
1313
  input.setAttribute( "type", "hidden" );
1314
  el.appendChild( input ).setAttribute( "name", "D" );
1315
 
1316
  // Support: IE8
1317
  // Enforce case-sensitivity of name attribute
1318
- if ( el.querySelectorAll("[name=d]").length ) {
1319
  rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
1320
  }
1321
 
1322
  // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1323
  // IE8 throws error here and will not see later tests
1324
- if ( el.querySelectorAll(":enabled").length !== 2 ) {
1325
  rbuggyQSA.push( ":enabled", ":disabled" );
1326
  }
1327
 
1328
  // Support: IE9-11+
1329
  // IE's :disabled selector does not pick up the children of disabled fieldsets
1330
  docElem.appendChild( el ).disabled = true;
1331
- if ( el.querySelectorAll(":disabled").length !== 2 ) {
1332
  rbuggyQSA.push( ":enabled", ":disabled" );
1333
  }
1334
 
 
1335
  // Opera 10-11 does not throw on post-comma invalid pseudos
1336
- el.querySelectorAll("*,:x");
1337
- rbuggyQSA.push(",.*:");
1338
- });
1339
  }
1340
 
1341
- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
1342
  docElem.webkitMatchesSelector ||
1343
  docElem.mozMatchesSelector ||
1344
  docElem.oMatchesSelector ||
1345
- docElem.msMatchesSelector) )) ) {
 
 
1346
 
1347
- assert(function( el ) {
1348
  // Check to see if it's possible to do matchesSelector
1349
  // on a disconnected node (IE 9)
1350
  support.disconnectedMatch = matches.call( el, "*" );
@@ -1353,11 +1433,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1353
  // Gecko does not error, returns false instead
1354
  matches.call( el, "[s!='']:x" );
1355
  rbuggyMatches.push( "!=", pseudos );
1356
- });
1357
  }
1358
 
1359
- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
1360
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
1361
 
1362
  /* Contains
1363
  ---------------------------------------------------------------------- */
@@ -1374,11 +1454,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1374
  adown.contains ?
1375
  adown.contains( bup ) :
1376
  a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1377
- ));
1378
  } :
1379
  function( a, b ) {
1380
  if ( b ) {
1381
- while ( (b = b.parentNode) ) {
1382
  if ( b === a ) {
1383
  return true;
1384
  }
@@ -1407,7 +1487,11 @@ setDocument = Sizzle.setDocument = function( node ) {
1407
  }
1408
 
1409
  // Calculate position if both inputs belong to the same document
1410
- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
 
 
 
 
1411
  a.compareDocumentPosition( b ) :
1412
 
1413
  // Otherwise we know they are disconnected
@@ -1415,13 +1499,24 @@ setDocument = Sizzle.setDocument = function( node ) {
1415
 
1416
  // Disconnected nodes
1417
  if ( compare & 1 ||
1418
- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
1419
 
1420
  // Choose the first element that is related to our preferred document
1421
- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
 
 
 
 
 
1422
  return -1;
1423
  }
1424
- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
 
 
 
 
 
 
1425
  return 1;
1426
  }
1427
 
@@ -1434,6 +1529,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1434
  return compare & 4 ? -1 : 1;
1435
  } :
1436
  function( a, b ) {
 
1437
  // Exit early if the nodes are identical
1438
  if ( a === b ) {
1439
  hasDuplicate = true;
@@ -1449,8 +1545,14 @@ setDocument = Sizzle.setDocument = function( node ) {
1449
 
1450
  // Parentless nodes are either documents or disconnected
1451
  if ( !aup || !bup ) {
1452
- return a === document ? -1 :
1453
- b === document ? 1 :
 
 
 
 
 
 
1454
  aup ? -1 :
1455
  bup ? 1 :
1456
  sortInput ?
@@ -1464,26 +1566,32 @@ setDocument = Sizzle.setDocument = function( node ) {
1464
 
1465
  // Otherwise we need full lists of their ancestors for comparison
1466
  cur = a;
1467
- while ( (cur = cur.parentNode) ) {
1468
  ap.unshift( cur );
1469
  }
1470
  cur = b;
1471
- while ( (cur = cur.parentNode) ) {
1472
  bp.unshift( cur );
1473
  }
1474
 
1475
  // Walk down the tree looking for a discrepancy
1476
- while ( ap[i] === bp[i] ) {
1477
  i++;
1478
  }
1479
 
1480
  return i ?
 
1481
  // Do a sibling check if the nodes have a common ancestor
1482
- siblingCheck( ap[i], bp[i] ) :
1483
 
1484
  // Otherwise nodes in our document sort first
1485
- ap[i] === preferredDoc ? -1 :
1486
- bp[i] === preferredDoc ? 1 :
 
 
 
 
 
1487
  0;
1488
  };
1489
 
@@ -1495,10 +1603,7 @@ Sizzle.matches = function( expr, elements ) {
1495
  };
1496
 
1497
  Sizzle.matchesSelector = function( elem, expr ) {
1498
- // Set document vars if needed
1499
- if ( ( elem.ownerDocument || elem ) !== document ) {
1500
- setDocument( elem );
1501
- }
1502
 
1503
  if ( support.matchesSelector && documentIsHTML &&
1504
  !nonnativeSelectorCache[ expr + " " ] &&
@@ -1510,12 +1615,13 @@ Sizzle.matchesSelector = function( elem, expr ) {
1510
 
1511
  // IE 9's matchesSelector returns false on disconnected nodes
1512
  if ( ret || support.disconnectedMatch ||
1513
- // As well, disconnected nodes are said to be in a document
1514
- // fragment in IE 9
1515
- elem.document && elem.document.nodeType !== 11 ) {
 
1516
  return ret;
1517
  }
1518
- } catch (e) {
1519
  nonnativeSelectorCache( expr, true );
1520
  }
1521
  }
@@ -1524,20 +1630,31 @@ Sizzle.matchesSelector = function( elem, expr ) {
1524
  };
1525
 
1526
  Sizzle.contains = function( context, elem ) {
 
1527
  // Set document vars if needed
1528
- if ( ( context.ownerDocument || context ) !== document ) {
 
 
 
 
1529
  setDocument( context );
1530
  }
1531
  return contains( context, elem );
1532
  };
1533
 
1534
  Sizzle.attr = function( elem, name ) {
 
1535
  // Set document vars if needed
1536
- if ( ( elem.ownerDocument || elem ) !== document ) {
 
 
 
 
1537
  setDocument( elem );
1538
  }
1539
 
1540
  var fn = Expr.attrHandle[ name.toLowerCase() ],
 
1541
  // Don't get fooled by Object.prototype properties (jQuery #13807)
1542
  val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1543
  fn( elem, name, !documentIsHTML ) :
@@ -1547,13 +1664,13 @@ Sizzle.attr = function( elem, name ) {
1547
  val :
1548
  support.attributes || !documentIsHTML ?
1549
  elem.getAttribute( name ) :
1550
- (val = elem.getAttributeNode(name)) && val.specified ?
1551
  val.value :
1552
  null;
1553
  };
1554
 
1555
  Sizzle.escape = function( sel ) {
1556
- return (sel + "").replace( rcssescape, fcssescape );
1557
  };
1558
 
1559
  Sizzle.error = function( msg ) {
@@ -1576,7 +1693,7 @@ Sizzle.uniqueSort = function( results ) {
1576
  results.sort( sortOrder );
1577
 
1578
  if ( hasDuplicate ) {
1579
- while ( (elem = results[i++]) ) {
1580
  if ( elem === results[ i ] ) {
1581
  j = duplicates.push( i );
1582
  }
@@ -1604,17 +1721,21 @@ getText = Sizzle.getText = function( elem ) {
1604
  nodeType = elem.nodeType;
1605
 
1606
  if ( !nodeType ) {
 
1607
  // If no nodeType, this is expected to be an array
1608
- while ( (node = elem[i++]) ) {
 
1609
  // Do not traverse comment nodes
1610
  ret += getText( node );
1611
  }
1612
  } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
 
1613
  // Use textContent for elements
1614
  // innerText usage removed for consistency of new lines (jQuery #11153)
1615
  if ( typeof elem.textContent === "string" ) {
1616
  return elem.textContent;
1617
  } else {
 
1618
  // Traverse its children
1619
  for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1620
  ret += getText( elem );
@@ -1623,6 +1744,7 @@ getText = Sizzle.getText = function( elem ) {
1623
  } else if ( nodeType === 3 || nodeType === 4 ) {
1624
  return elem.nodeValue;
1625
  }
 
1626
  // Do not include comment or processing instruction nodes
1627
 
1628
  return ret;
@@ -1650,19 +1772,21 @@ Expr = Sizzle.selectors = {
1650
 
1651
  preFilter: {
1652
  "ATTR": function( match ) {
1653
- match[1] = match[1].replace( runescape, funescape );
1654
 
1655
  // Move the given value to match[3] whether quoted or unquoted
1656
- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
 
1657
 
1658
- if ( match[2] === "~=" ) {
1659
- match[3] = " " + match[3] + " ";
1660
  }
1661
 
1662
  return match.slice( 0, 4 );
1663
  },
1664
 
1665
  "CHILD": function( match ) {
 
1666
  /* matches from matchExpr["CHILD"]
1667
  1 type (only|nth|...)
1668
  2 what (child|of-type)
@@ -1673,22 +1797,25 @@ Expr = Sizzle.selectors = {
1673
  7 sign of y-component
1674
  8 y of y-component
1675
  */
1676
- match[1] = match[1].toLowerCase();
 
 
1677
 
1678
- if ( match[1].slice( 0, 3 ) === "nth" ) {
1679
  // nth-* requires argument
1680
- if ( !match[3] ) {
1681
- Sizzle.error( match[0] );
1682
  }
1683
 
1684
  // numeric x and y parameters for Expr.filter.CHILD
1685
  // remember that false/true cast respectively to 0/1
1686
- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
1687
- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
 
 
1688
 
1689
- // other types prohibit arguments
1690
- } else if ( match[3] ) {
1691
- Sizzle.error( match[0] );
1692
  }
1693
 
1694
  return match;
@@ -1696,26 +1823,28 @@ Expr = Sizzle.selectors = {
1696
 
1697
  "PSEUDO": function( match ) {
1698
  var excess,
1699
- unquoted = !match[6] && match[2];
1700
 
1701
- if ( matchExpr["CHILD"].test( match[0] ) ) {
1702
  return null;
1703
  }
1704
 
1705
  // Accept quoted arguments as-is
1706
- if ( match[3] ) {
1707
- match[2] = match[4] || match[5] || "";
1708
 
1709
  // Strip excess characters from unquoted arguments
1710
  } else if ( unquoted && rpseudo.test( unquoted ) &&
 
1711
  // Get excess from tokenize (recursively)
1712
- (excess = tokenize( unquoted, true )) &&
 
1713
  // advance to the next closing parenthesis
1714
- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
1715
 
1716
  // excess is a negative index
1717
- match[0] = match[0].slice( 0, excess );
1718
- match[2] = unquoted.slice( 0, excess );
1719
  }
1720
 
1721
  // Return only captures needed by the pseudo filter method (type and argument)
@@ -1728,7 +1857,9 @@ Expr = Sizzle.selectors = {
1728
  "TAG": function( nodeNameSelector ) {
1729
  var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1730
  return nodeNameSelector === "*" ?
1731
- function() { return true; } :
 
 
1732
  function( elem ) {
1733
  return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1734
  };
@@ -1738,10 +1869,16 @@ Expr = Sizzle.selectors = {
1738
  var pattern = classCache[ className + " " ];
1739
 
1740
  return pattern ||
1741
- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
1742
- classCache( className, function( elem ) {
1743
- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
1744
- });
 
 
 
 
 
 
1745
  },
1746
 
1747
  "ATTR": function( name, operator, check ) {
@@ -1757,6 +1894,8 @@ Expr = Sizzle.selectors = {
1757
 
1758
  result += "";
1759
 
 
 
1760
  return operator === "=" ? result === check :
1761
  operator === "!=" ? result !== check :
1762
  operator === "^=" ? check && result.indexOf( check ) === 0 :
@@ -1765,10 +1904,12 @@ Expr = Sizzle.selectors = {
1765
  operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1766
  operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1767
  false;
 
 
1768
  };
1769
  },
1770
 
1771
- "CHILD": function( type, what, argument, first, last ) {
1772
  var simple = type.slice( 0, 3 ) !== "nth",
1773
  forward = type.slice( -4 ) !== "last",
1774
  ofType = what === "of-type";
@@ -1780,7 +1921,7 @@ Expr = Sizzle.selectors = {
1780
  return !!elem.parentNode;
1781
  } :
1782
 
1783
- function( elem, context, xml ) {
1784
  var cache, uniqueCache, outerCache, node, nodeIndex, start,
1785
  dir = simple !== forward ? "nextSibling" : "previousSibling",
1786
  parent = elem.parentNode,
@@ -1794,7 +1935,7 @@ Expr = Sizzle.selectors = {
1794
  if ( simple ) {
1795
  while ( dir ) {
1796
  node = elem;
1797
- while ( (node = node[ dir ]) ) {
1798
  if ( ofType ?
1799
  node.nodeName.toLowerCase() === name :
1800
  node.nodeType === 1 ) {
@@ -1802,6 +1943,7 @@ Expr = Sizzle.selectors = {
1802
  return false;
1803
  }
1804
  }
 
1805
  // Reverse direction for :only-* (if we haven't yet done so)
1806
  start = dir = type === "only" && !start && "nextSibling";
1807
  }
@@ -1817,22 +1959,22 @@ Expr = Sizzle.selectors = {
1817
 
1818
  // ...in a gzip-friendly way
1819
  node = parent;
1820
- outerCache = node[ expando ] || (node[ expando ] = {});
1821
 
1822
  // Support: IE <9 only
1823
  // Defend against cloned attroperties (jQuery gh-1709)
1824
  uniqueCache = outerCache[ node.uniqueID ] ||
1825
- (outerCache[ node.uniqueID ] = {});
1826
 
1827
  cache = uniqueCache[ type ] || [];
1828
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1829
  diff = nodeIndex && cache[ 2 ];
1830
  node = nodeIndex && parent.childNodes[ nodeIndex ];
1831
 
1832
- while ( (node = ++nodeIndex && node && node[ dir ] ||
1833
 
1834
  // Fallback to seeking `elem` from the start
1835
- (diff = nodeIndex = 0) || start.pop()) ) {
1836
 
1837
  // When found, cache indexes on `parent` and break
1838
  if ( node.nodeType === 1 && ++diff && node === elem ) {
@@ -1842,16 +1984,18 @@ Expr = Sizzle.selectors = {
1842
  }
1843
 
1844
  } else {
 
1845
  // Use previously-cached element index if available
1846
  if ( useCache ) {
 
1847
  // ...in a gzip-friendly way
1848
  node = elem;
1849
- outerCache = node[ expando ] || (node[ expando ] = {});
1850
 
1851
  // Support: IE <9 only
1852
  // Defend against cloned attroperties (jQuery gh-1709)
1853
  uniqueCache = outerCache[ node.uniqueID ] ||
1854
- (outerCache[ node.uniqueID ] = {});
1855
 
1856
  cache = uniqueCache[ type ] || [];
1857
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
@@ -1861,9 +2005,10 @@ Expr = Sizzle.selectors = {
1861
  // xml :nth-child(...)
1862
  // or :nth-last-child(...) or :nth(-last)?-of-type(...)
1863
  if ( diff === false ) {
 
1864
  // Use the same loop as above to seek `elem` from the start
1865
- while ( (node = ++nodeIndex && node && node[ dir ] ||
1866
- (diff = nodeIndex = 0) || start.pop()) ) {
1867
 
1868
  if ( ( ofType ?
1869
  node.nodeName.toLowerCase() === name :
@@ -1872,12 +2017,13 @@ Expr = Sizzle.selectors = {
1872
 
1873
  // Cache the index of each encountered element
1874
  if ( useCache ) {
1875
- outerCache = node[ expando ] || (node[ expando ] = {});
 
1876
 
1877
  // Support: IE <9 only
1878
  // Defend against cloned attroperties (jQuery gh-1709)
1879
  uniqueCache = outerCache[ node.uniqueID ] ||
1880
- (outerCache[ node.uniqueID ] = {});
1881
 
1882
  uniqueCache[ type ] = [ dirruns, diff ];
1883
  }
@@ -1898,6 +2044,7 @@ Expr = Sizzle.selectors = {
1898
  },
1899
 
1900
  "PSEUDO": function( pseudo, argument ) {
 
1901
  // pseudo-class names are case-insensitive
1902
  // http://www.w3.org/TR/selectors/#pseudo-classes
1903
  // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
@@ -1917,15 +2064,15 @@ Expr = Sizzle.selectors = {
1917
  if ( fn.length > 1 ) {
1918
  args = [ pseudo, pseudo, "", argument ];
1919
  return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
1920
- markFunction(function( seed, matches ) {
1921
  var idx,
1922
  matched = fn( seed, argument ),
1923
  i = matched.length;
1924
  while ( i-- ) {
1925
- idx = indexOf( seed, matched[i] );
1926
- seed[ idx ] = !( matches[ idx ] = matched[i] );
1927
  }
1928
- }) :
1929
  function( elem ) {
1930
  return fn( elem, 0, args );
1931
  };
@@ -1936,8 +2083,10 @@ Expr = Sizzle.selectors = {
1936
  },
1937
 
1938
  pseudos: {
 
1939
  // Potentially complex pseudos
1940
- "not": markFunction(function( selector ) {
 
1941
  // Trim the selector passed to compile
1942
  // to avoid treating leading and trailing
1943
  // spaces as combinators
@@ -1946,39 +2095,40 @@ Expr = Sizzle.selectors = {
1946
  matcher = compile( selector.replace( rtrim, "$1" ) );
1947
 
1948
  return matcher[ expando ] ?
1949
- markFunction(function( seed, matches, context, xml ) {
1950
  var elem,
1951
  unmatched = matcher( seed, null, xml, [] ),
1952
  i = seed.length;
1953
 
1954
  // Match elements unmatched by `matcher`
1955
  while ( i-- ) {
1956
- if ( (elem = unmatched[i]) ) {
1957
- seed[i] = !(matches[i] = elem);
1958
  }
1959
  }
1960
- }) :
1961
- function( elem, context, xml ) {
1962
- input[0] = elem;
1963
  matcher( input, null, xml, results );
 
1964
  // Don't keep the element (issue #299)
1965
- input[0] = null;
1966
  return !results.pop();
1967
  };
1968
- }),
1969
 
1970
- "has": markFunction(function( selector ) {
1971
  return function( elem ) {
1972
  return Sizzle( selector, elem ).length > 0;
1973
  };
1974
- }),
1975
 
1976
- "contains": markFunction(function( text ) {
1977
  text = text.replace( runescape, funescape );
1978
  return function( elem ) {
1979
  return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
1980
  };
1981
- }),
1982
 
1983
  // "Whether an element is represented by a :lang() selector
1984
  // is based solely on the element's language value
@@ -1988,25 +2138,26 @@ Expr = Sizzle.selectors = {
1988
  // The identifier C does not have to be a valid language name."
1989
  // http://www.w3.org/TR/selectors/#lang-pseudo
1990
  "lang": markFunction( function( lang ) {
 
1991
  // lang value must be a valid identifier
1992
- if ( !ridentifier.test(lang || "") ) {
1993
  Sizzle.error( "unsupported lang: " + lang );
1994
  }
1995
  lang = lang.replace( runescape, funescape ).toLowerCase();
1996
  return function( elem ) {
1997
  var elemLang;
1998
  do {
1999
- if ( (elemLang = documentIsHTML ?
2000
  elem.lang :
2001
- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
2002
 
2003
  elemLang = elemLang.toLowerCase();
2004
  return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2005
  }
2006
- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
2007
  return false;
2008
  };
2009
- }),
2010
 
2011
  // Miscellaneous
2012
  "target": function( elem ) {
@@ -2019,7 +2170,9 @@ Expr = Sizzle.selectors = {
2019
  },
2020
 
2021
  "focus": function( elem ) {
2022
- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
 
 
2023
  },
2024
 
2025
  // Boolean properties
@@ -2027,16 +2180,20 @@ Expr = Sizzle.selectors = {
2027
  "disabled": createDisabledPseudo( true ),
2028
 
2029
  "checked": function( elem ) {
 
2030
  // In CSS3, :checked should return both checked and selected elements
2031
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2032
  var nodeName = elem.nodeName.toLowerCase();
2033
- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
 
2034
  },
2035
 
2036
  "selected": function( elem ) {
 
2037
  // Accessing this property makes selected-by-default
2038
  // options in Safari work properly
2039
  if ( elem.parentNode ) {
 
2040
  elem.parentNode.selectedIndex;
2041
  }
2042
 
@@ -2045,6 +2202,7 @@ Expr = Sizzle.selectors = {
2045
 
2046
  // Contents
2047
  "empty": function( elem ) {
 
2048
  // http://www.w3.org/TR/selectors/#empty-pseudo
2049
  // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
2050
  // but not by others (comment: 8; processing instruction: 7; etc.)
@@ -2058,7 +2216,7 @@ Expr = Sizzle.selectors = {
2058
  },
2059
 
2060
  "parent": function( elem ) {
2061
- return !Expr.pseudos["empty"]( elem );
2062
  },
2063
 
2064
  // Element/input types
@@ -2082,39 +2240,40 @@ Expr = Sizzle.selectors = {
2082
 
2083
  // Support: IE<8
2084
  // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2085
- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
 
2086
  },
2087
 
2088
  // Position-in-collection
2089
- "first": createPositionalPseudo(function() {
2090
  return [ 0 ];
2091
- }),
2092
 
2093
- "last": createPositionalPseudo(function( matchIndexes, length ) {
2094
  return [ length - 1 ];
2095
- }),
2096
 
2097
- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
2098
  return [ argument < 0 ? argument + length : argument ];
2099
- }),
2100
 
2101
- "even": createPositionalPseudo(function( matchIndexes, length ) {
2102
  var i = 0;
2103
  for ( ; i < length; i += 2 ) {
2104
  matchIndexes.push( i );
2105
  }
2106
  return matchIndexes;
2107
- }),
2108
 
2109
- "odd": createPositionalPseudo(function( matchIndexes, length ) {
2110
  var i = 1;
2111
  for ( ; i < length; i += 2 ) {
2112
  matchIndexes.push( i );
2113
  }
2114
  return matchIndexes;
2115
- }),
2116
 
2117
- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2118
  var i = argument < 0 ?
2119
  argument + length :
2120
  argument > length ?
@@ -2124,19 +2283,19 @@ Expr = Sizzle.selectors = {
2124
  matchIndexes.push( i );
2125
  }
2126
  return matchIndexes;
2127
- }),
2128
 
2129
- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
2130
  var i = argument < 0 ? argument + length : argument;
2131
  for ( ; ++i < length; ) {
2132
  matchIndexes.push( i );
2133
  }
2134
  return matchIndexes;
2135
- })
2136
  }
2137
  };
2138
 
2139
- Expr.pseudos["nth"] = Expr.pseudos["eq"];
2140
 
2141
  // Add button/input type pseudos
2142
  for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
@@ -2167,37 +2326,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2167
  while ( soFar ) {
2168
 
2169
  // Comma and first run
2170
- if ( !matched || (match = rcomma.exec( soFar )) ) {
2171
  if ( match ) {
 
2172
  // Don't consume trailing commas as valid
2173
- soFar = soFar.slice( match[0].length ) || soFar;
2174
  }
2175
- groups.push( (tokens = []) );
2176
  }
2177
 
2178
  matched = false;
2179
 
2180
  // Combinators
2181
- if ( (match = rcombinators.exec( soFar )) ) {
2182
  matched = match.shift();
2183
- tokens.push({
2184
  value: matched,
 
2185
  // Cast descendant combinators to space
2186
- type: match[0].replace( rtrim, " " )
2187
- });
2188
  soFar = soFar.slice( matched.length );
2189
  }
2190
 
2191
  // Filters
2192
  for ( type in Expr.filter ) {
2193
- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
2194
- (match = preFilters[ type ]( match ))) ) {
2195
  matched = match.shift();
2196
- tokens.push({
2197
  value: matched,
2198
  type: type,
2199
  matches: match
2200
- });
2201
  soFar = soFar.slice( matched.length );
2202
  }
2203
  }
@@ -2214,6 +2375,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2214
  soFar.length :
2215
  soFar ?
2216
  Sizzle.error( selector ) :
 
2217
  // Cache the tokens
2218
  tokenCache( selector, groups ).slice( 0 );
2219
  };
@@ -2223,7 +2385,7 @@ function toSelector( tokens ) {
2223
  len = tokens.length,
2224
  selector = "";
2225
  for ( ; i < len; i++ ) {
2226
- selector += tokens[i].value;
2227
  }
2228
  return selector;
2229
  }
@@ -2236,9 +2398,10 @@ function addCombinator( matcher, combinator, base ) {
2236
  doneName = done++;
2237
 
2238
  return combinator.first ?
 
2239
  // Check against closest ancestor/preceding element
2240
  function( elem, context, xml ) {
2241
- while ( (elem = elem[ dir ]) ) {
2242
  if ( elem.nodeType === 1 || checkNonElements ) {
2243
  return matcher( elem, context, xml );
2244
  }
@@ -2253,7 +2416,7 @@ function addCombinator( matcher, combinator, base ) {
2253
 
2254
  // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2255
  if ( xml ) {
2256
- while ( (elem = elem[ dir ]) ) {
2257
  if ( elem.nodeType === 1 || checkNonElements ) {
2258
  if ( matcher( elem, context, xml ) ) {
2259
  return true;
@@ -2261,27 +2424,29 @@ function addCombinator( matcher, combinator, base ) {
2261
  }
2262
  }
2263
  } else {
2264
- while ( (elem = elem[ dir ]) ) {
2265
  if ( elem.nodeType === 1 || checkNonElements ) {
2266
- outerCache = elem[ expando ] || (elem[ expando ] = {});
2267
 
2268
  // Support: IE <9 only
2269
  // Defend against cloned attroperties (jQuery gh-1709)
2270
- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
 
2271
 
2272
  if ( skip && skip === elem.nodeName.toLowerCase() ) {
2273
  elem = elem[ dir ] || elem;
2274
- } else if ( (oldCache = uniqueCache[ key ]) &&
2275
  oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2276
 
2277
  // Assign to newCache so results back-propagate to previous elements
2278
- return (newCache[ 2 ] = oldCache[ 2 ]);
2279
  } else {
 
2280
  // Reuse newcache so results back-propagate to previous elements
2281
  uniqueCache[ key ] = newCache;
2282
 
2283
  // A match means we're done; a fail means we have to keep checking
2284
- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
2285
  return true;
2286
  }
2287
  }
@@ -2297,20 +2462,20 @@ function elementMatcher( matchers ) {
2297
  function( elem, context, xml ) {
2298
  var i = matchers.length;
2299
  while ( i-- ) {
2300
- if ( !matchers[i]( elem, context, xml ) ) {
2301
  return false;
2302
  }
2303
  }
2304
  return true;
2305
  } :
2306
- matchers[0];
2307
  }
2308
 
2309
  function multipleContexts( selector, contexts, results ) {
2310
  var i = 0,
2311
  len = contexts.length;
2312
  for ( ; i < len; i++ ) {
2313
- Sizzle( selector, contexts[i], results );
2314
  }
2315
  return results;
2316
  }
@@ -2323,7 +2488,7 @@ function condense( unmatched, map, filter, context, xml ) {
2323
  mapped = map != null;
2324
 
2325
  for ( ; i < len; i++ ) {
2326
- if ( (elem = unmatched[i]) ) {
2327
  if ( !filter || filter( elem, context, xml ) ) {
2328
  newUnmatched.push( elem );
2329
  if ( mapped ) {
@@ -2343,14 +2508,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2343
  if ( postFinder && !postFinder[ expando ] ) {
2344
  postFinder = setMatcher( postFinder, postSelector );
2345
  }
2346
- return markFunction(function( seed, results, context, xml ) {
2347
  var temp, i, elem,
2348
  preMap = [],
2349
  postMap = [],
2350
  preexisting = results.length,
2351
 
2352
  // Get initial elements from seed or context
2353
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
 
 
 
 
2354
 
2355
  // Prefilter to get matcher input, preserving a map for seed-results synchronization
2356
  matcherIn = preFilter && ( seed || !selector ) ?
@@ -2358,6 +2527,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2358
  elems,
2359
 
2360
  matcherOut = matcher ?
 
2361
  // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2362
  postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2363
 
@@ -2381,8 +2551,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2381
  // Un-match failing elements by moving them back to matcherIn
2382
  i = temp.length;
2383
  while ( i-- ) {
2384
- if ( (elem = temp[i]) ) {
2385
- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
2386
  }
2387
  }
2388
  }
@@ -2390,25 +2560,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2390
  if ( seed ) {
2391
  if ( postFinder || preFilter ) {
2392
  if ( postFinder ) {
 
2393
  // Get the final matcherOut by condensing this intermediate into postFinder contexts
2394
  temp = [];
2395
  i = matcherOut.length;
2396
  while ( i-- ) {
2397
- if ( (elem = matcherOut[i]) ) {
 
2398
  // Restore matcherIn since elem is not yet a final match
2399
- temp.push( (matcherIn[i] = elem) );
2400
  }
2401
  }
2402
- postFinder( null, (matcherOut = []), temp, xml );
2403
  }
2404
 
2405
  // Move matched elements from seed to results to keep them synchronized
2406
  i = matcherOut.length;
2407
  while ( i-- ) {
2408
- if ( (elem = matcherOut[i]) &&
2409
- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
2410
 
2411
- seed[temp] = !(results[temp] = elem);
2412
  }
2413
  }
2414
  }
@@ -2426,14 +2598,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
2426
  push.apply( results, matcherOut );
2427
  }
2428
  }
2429
- });
2430
  }
2431
 
2432
  function matcherFromTokens( tokens ) {
2433
  var checkContext, matcher, j,
2434
  len = tokens.length,
2435
- leadingRelative = Expr.relative[ tokens[0].type ],
2436
- implicitRelative = leadingRelative || Expr.relative[" "],
2437
  i = leadingRelative ? 1 : 0,
2438
 
2439
  // The foundational matcher ensures that elements are reachable from top-level context(s)
@@ -2445,38 +2617,43 @@ function matcherFromTokens( tokens ) {
2445
  }, implicitRelative, true ),
2446
  matchers = [ function( elem, context, xml ) {
2447
  var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2448
- (checkContext = context).nodeType ?
2449
  matchContext( elem, context, xml ) :
2450
  matchAnyContext( elem, context, xml ) );
 
2451
  // Avoid hanging onto element (issue #299)
2452
  checkContext = null;
2453
  return ret;
2454
  } ];
2455
 
2456
  for ( ; i < len; i++ ) {
2457
- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
2458
- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
2459
  } else {
2460
- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
2461
 
2462
  // Return special upon seeing a positional matcher
2463
  if ( matcher[ expando ] ) {
 
2464
  // Find the next relative operator (if any) for proper handling
2465
  j = ++i;
2466
  for ( ; j < len; j++ ) {
2467
- if ( Expr.relative[ tokens[j].type ] ) {
2468
  break;
2469
  }
2470
  }
2471
  return setMatcher(
2472
  i > 1 && elementMatcher( matchers ),
2473
  i > 1 && toSelector(
2474
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
2475
- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
 
 
 
2476
  ).replace( rtrim, "$1" ),
2477
  matcher,
2478
  i < j && matcherFromTokens( tokens.slice( i, j ) ),
2479
- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
2480
  j < len && toSelector( tokens )
2481
  );
2482
  }
@@ -2497,28 +2674,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2497
  unmatched = seed && [],
2498
  setMatched = [],
2499
  contextBackup = outermostContext,
 
2500
  // We must always have either seed elements or outermost context
2501
- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
 
2502
  // Use integer dirruns iff this is the outermost matcher
2503
- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
2504
  len = elems.length;
2505
 
2506
  if ( outermost ) {
2507
- outermostContext = context === document || context || outermost;
 
 
 
 
 
2508
  }
2509
 
2510
  // Add elements passing elementMatchers directly to results
2511
  // Support: IE<9, Safari
2512
  // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
2513
- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
2514
  if ( byElement && elem ) {
2515
  j = 0;
2516
- if ( !context && elem.ownerDocument !== document ) {
 
 
 
 
 
2517
  setDocument( elem );
2518
  xml = !documentIsHTML;
2519
  }
2520
- while ( (matcher = elementMatchers[j++]) ) {
2521
- if ( matcher( elem, context || document, xml) ) {
2522
  results.push( elem );
2523
  break;
2524
  }
@@ -2530,8 +2719,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2530
 
2531
  // Track unmatched elements for set filters
2532
  if ( bySet ) {
 
2533
  // They will have gone through all possible matchers
2534
- if ( (elem = !matcher && elem) ) {
2535
  matchedCount--;
2536
  }
2537
 
@@ -2555,16 +2745,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2555
  // numerically zero.
2556
  if ( bySet && i !== matchedCount ) {
2557
  j = 0;
2558
- while ( (matcher = setMatchers[j++]) ) {
2559
  matcher( unmatched, setMatched, context, xml );
2560
  }
2561
 
2562
  if ( seed ) {
 
2563
  // Reintegrate element matches to eliminate the need for sorting
2564
  if ( matchedCount > 0 ) {
2565
  while ( i-- ) {
2566
- if ( !(unmatched[i] || setMatched[i]) ) {
2567
- setMatched[i] = pop.call( results );
2568
  }
2569
  }
2570
  }
@@ -2605,13 +2796,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2605
  cached = compilerCache[ selector + " " ];
2606
 
2607
  if ( !cached ) {
 
2608
  // Generate a function of recursive functions that can be used to check each element
2609
  if ( !match ) {
2610
  match = tokenize( selector );
2611
  }
2612
  i = match.length;
2613
  while ( i-- ) {
2614
- cached = matcherFromTokens( match[i] );
2615
  if ( cached[ expando ] ) {
2616
  setMatchers.push( cached );
2617
  } else {
@@ -2620,7 +2812,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2620
  }
2621
 
2622
  // Cache the compiled function
2623
- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
 
 
 
2624
 
2625
  // Save selector and tokenization
2626
  cached.selector = selector;
@@ -2640,7 +2835,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2640
  select = Sizzle.select = function( selector, context, results, seed ) {
2641
  var i, tokens, token, type, find,
2642
  compiled = typeof selector === "function" && selector,
2643
- match = !seed && tokenize( (selector = compiled.selector || selector) );
2644
 
2645
  results = results || [];
2646
 
@@ -2649,11 +2844,12 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2649
  if ( match.length === 1 ) {
2650
 
2651
  // Reduce context if the leading compound selector is an ID
2652
- tokens = match[0] = match[0].slice( 0 );
2653
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2654
- context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
2655
 
2656
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
 
2657
  if ( !context ) {
2658
  return results;
2659
 
@@ -2666,20 +2862,22 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2666
  }
2667
 
2668
  // Fetch a seed set for right-to-left matching
2669
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2670
  while ( i-- ) {
2671
- token = tokens[i];
2672
 
2673
  // Abort if we hit a combinator
2674
- if ( Expr.relative[ (type = token.type) ] ) {
2675
  break;
2676
  }
2677
- if ( (find = Expr.find[ type ]) ) {
 
2678
  // Search, expanding context for leading sibling combinators
2679
- if ( (seed = find(
2680
- token.matches[0].replace( runescape, funescape ),
2681
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2682
- )) ) {
 
2683
 
2684
  // If seed is empty or no tokens remain, we can return early
2685
  tokens.splice( i, 1 );
@@ -2710,7 +2908,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
2710
  // One-time assignments
2711
 
2712
  // Sort stability
2713
- support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
2714
 
2715
  // Support: Chrome 14-35+
2716
  // Always assume duplicates if they aren't passed to the comparison function
@@ -2721,58 +2919,59 @@ setDocument();
2721
 
2722
  // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2723
  // Detached nodes confoundingly follow *each other*
2724
- support.sortDetached = assert(function( el ) {
 
2725
  // Should return 1, but returns 4 (following)
2726
- return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
2727
- });
2728
 
2729
  // Support: IE<8
2730
  // Prevent attribute/property "interpolation"
2731
  // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2732
- if ( !assert(function( el ) {
2733
  el.innerHTML = "<a href='#'></a>";
2734
- return el.firstChild.getAttribute("href") === "#" ;
2735
- }) ) {
2736
  addHandle( "type|href|height|width", function( elem, name, isXML ) {
2737
  if ( !isXML ) {
2738
  return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2739
  }
2740
- });
2741
  }
2742
 
2743
  // Support: IE<9
2744
  // Use defaultValue in place of getAttribute("value")
2745
- if ( !support.attributes || !assert(function( el ) {
2746
  el.innerHTML = "<input/>";
2747
  el.firstChild.setAttribute( "value", "" );
2748
  return el.firstChild.getAttribute( "value" ) === "";
2749
- }) ) {
2750
- addHandle( "value", function( elem, name, isXML ) {
2751
  if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2752
  return elem.defaultValue;
2753
  }
2754
- });
2755
  }
2756
 
2757
  // Support: IE<9
2758
  // Use getAttributeNode to fetch booleans when getAttribute lies
2759
- if ( !assert(function( el ) {
2760
- return el.getAttribute("disabled") == null;
2761
- }) ) {
2762
  addHandle( booleans, function( elem, name, isXML ) {
2763
  var val;
2764
  if ( !isXML ) {
2765
  return elem[ name ] === true ? name.toLowerCase() :
2766
- (val = elem.getAttributeNode( name )) && val.specified ?
2767
  val.value :
2768
- null;
2769
  }
2770
- });
2771
  }
2772
 
2773
  return Sizzle;
2774
 
2775
- })( window );
2776
 
2777
 
2778
 
@@ -3141,7 +3340,7 @@ jQuery.each( {
3141
  parents: function( elem ) {
3142
  return dir( elem, "parentNode" );
3143
  },
3144
- parentsUntil: function( elem, i, until ) {
3145
  return dir( elem, "parentNode", until );
3146
  },
3147
  next: function( elem ) {
@@ -3156,10 +3355,10 @@ jQuery.each( {
3156
  prevAll: function( elem ) {
3157
  return dir( elem, "previousSibling" );
3158
  },
3159
- nextUntil: function( elem, i, until ) {
3160
  return dir( elem, "nextSibling", until );
3161
  },
3162
- prevUntil: function( elem, i, until ) {
3163
  return dir( elem, "previousSibling", until );
3164
  },
3165
  siblings: function( elem ) {
@@ -3169,7 +3368,13 @@ jQuery.each( {
3169
  return siblings( elem.firstChild );
3170
  },
3171
  contents: function( elem ) {
3172
- if ( typeof elem.contentDocument !== "undefined" ) {
 
 
 
 
 
 
3173
  return elem.contentDocument;
3174
  }
3175
 
@@ -3512,7 +3717,7 @@ jQuery.extend( {
3512
  var fns = arguments;
3513
 
3514
  return jQuery.Deferred( function( newDefer ) {
3515
- jQuery.each( tuples, function( i, tuple ) {
3516
 
3517
  // Map tuples (progress, done, fail) to arguments (done, fail, progress)
3518
  var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
@@ -3965,7 +4170,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
3965
  // ...except when executing function values
3966
  } else {
3967
  bulk = fn;
3968
- fn = function( elem, key, value ) {
3969
  return bulk.call( jQuery( elem ), value );
3970
  };
3971
  }
@@ -4000,7 +4205,7 @@ var rmsPrefix = /^-ms-/,
4000
  rdashAlpha = /-([a-z])/g;
4001
 
4002
  // Used by camelCase as callback to replace()
4003
- function fcamelCase( all, letter ) {
4004
  return letter.toUpperCase();
4005
  }
4006
 
@@ -4039,7 +4244,7 @@ Data.prototype = {
4039
 
4040
  // If not, create one
4041
  if ( !value ) {
4042
- value = {};
4043
 
4044
  // We can accept data for non-element nodes in modern browsers,
4045
  // but we should not, see #8335.
@@ -4528,27 +4733,6 @@ var isHiddenWithinTree = function( elem, el ) {
4528
  jQuery.css( elem, "display" ) === "none";
4529
  };
4530
 
4531
- var swap = function( elem, options, callback, args ) {
4532
- var ret, name,
4533
- old = {};
4534
-
4535
- // Remember the old values, and insert the new ones
4536
- for ( name in options ) {
4537
- old[ name ] = elem.style[ name ];
4538
- elem.style[ name ] = options[ name ];
4539
- }
4540
-
4541
- ret = callback.apply( elem, args || [] );
4542
-
4543
- // Revert the old values
4544
- for ( name in options ) {
4545
- elem.style[ name ] = old[ name ];
4546
- }
4547
-
4548
- return ret;
4549
- };
4550
-
4551
-
4552
 
4553
 
4554
  function adjustCSS( elem, prop, valueParts, tween ) {
@@ -4719,11 +4903,40 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
4719
 
4720
 
4721
 
4722
- // We have to close these tags to support XHTML (#13200)
4723
- var wrapMap = {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4724
 
4725
  // Support: IE <=9 only
4726
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
 
 
 
 
 
 
 
 
4727
 
4728
  // XHTML parsers do not magically insert elements in the
4729
  // same way that tag soup parsers do. So we cannot shorten
@@ -4736,12 +4949,14 @@ var wrapMap = {
4736
  _default: [ 0, "", "" ]
4737
  };
4738
 
4739
- // Support: IE <=9 only
4740
- wrapMap.optgroup = wrapMap.option;
4741
-
4742
  wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
4743
  wrapMap.th = wrapMap.td;
4744
 
 
 
 
 
 
4745
 
4746
  function getAll( context, tag ) {
4747
 
@@ -4874,32 +5089,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
4874
  }
4875
 
4876
 
4877
- ( function() {
4878
- var fragment = document.createDocumentFragment(),
4879
- div = fragment.appendChild( document.createElement( "div" ) ),
4880
- input = document.createElement( "input" );
4881
-
4882
- // Support: Android 4.0 - 4.3 only
4883
- // Check state lost if the name is set (#11217)
4884
- // Support: Windows Web Apps (WWA)
4885
- // `name` and `type` must use .setAttribute for WWA (#14901)
4886
- input.setAttribute( "type", "radio" );
4887
- input.setAttribute( "checked", "checked" );
4888
- input.setAttribute( "name", "t" );
4889
-
4890
- div.appendChild( input );
4891
-
4892
- // Support: Android <=4.1 only
4893
- // Older WebKit doesn't clone checked state correctly in fragments
4894
- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4895
-
4896
- // Support: IE <=11 only
4897
- // Make sure textarea (and checkbox) defaultValue is properly cloned
4898
- div.innerHTML = "<textarea>x</textarea>";
4899
- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4900
- } )();
4901
-
4902
-
4903
  var
4904
  rkeyEvent = /^key/,
4905
  rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
@@ -5008,8 +5197,8 @@ jQuery.event = {
5008
  special, handlers, type, namespaces, origType,
5009
  elemData = dataPriv.get( elem );
5010
 
5011
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
5012
- if ( !elemData ) {
5013
  return;
5014
  }
5015
 
@@ -5033,7 +5222,7 @@ jQuery.event = {
5033
 
5034
  // Init the element's event structure and main handler, if this is the first
5035
  if ( !( events = elemData.events ) ) {
5036
- events = elemData.events = {};
5037
  }
5038
  if ( !( eventHandle = elemData.handle ) ) {
5039
  eventHandle = elemData.handle = function( e ) {
@@ -5191,12 +5380,15 @@ jQuery.event = {
5191
 
5192
  dispatch: function( nativeEvent ) {
5193
 
5194
- // Make a writable jQuery.Event from the native event object
5195
- var event = jQuery.event.fix( nativeEvent );
5196
-
5197
  var i, j, ret, matched, handleObj, handlerQueue,
5198
  args = new Array( arguments.length ),
5199
- handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
 
 
 
 
 
 
5200
  special = jQuery.event.special[ event.type ] || {};
5201
 
5202
  // Use the fix-ed jQuery.Event rather than the (read-only) native event
@@ -5771,13 +5963,6 @@ jQuery.fn.extend( {
5771
 
5772
  var
5773
 
5774
- /* eslint-disable max-len */
5775
-
5776
- // See https://github.com/eslint/eslint/issues/3229
5777
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
5778
-
5779
- /* eslint-enable */
5780
-
5781
  // Support: IE <=10 - 11, Edge 12 - 13 only
5782
  // In IE/Edge using regex groups here causes severe slowdowns.
5783
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
@@ -5814,7 +5999,7 @@ function restoreScript( elem ) {
5814
  }
5815
 
5816
  function cloneCopyEvent( src, dest ) {
5817
- var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
5818
 
5819
  if ( dest.nodeType !== 1 ) {
5820
  return;
@@ -5822,13 +6007,11 @@ function cloneCopyEvent( src, dest ) {
5822
 
5823
  // 1. Copy private data: events, handlers, etc.
5824
  if ( dataPriv.hasData( src ) ) {
5825
- pdataOld = dataPriv.access( src );
5826
- pdataCur = dataPriv.set( dest, pdataOld );
5827
  events = pdataOld.events;
5828
 
5829
  if ( events ) {
5830
- delete pdataCur.handle;
5831
- pdataCur.events = {};
5832
 
5833
  for ( type in events ) {
5834
  for ( i = 0, l = events[ type ].length; i < l; i++ ) {
@@ -5864,7 +6047,7 @@ function fixInput( src, dest ) {
5864
  function domManip( collection, args, callback, ignored ) {
5865
 
5866
  // Flatten any nested arrays
5867
- args = concat.apply( [], args );
5868
 
5869
  var fragment, first, scripts, hasScripts, node, doc,
5870
  i = 0,
@@ -5939,7 +6122,7 @@ function domManip( collection, args, callback, ignored ) {
5939
  if ( jQuery._evalUrl && !node.noModule ) {
5940
  jQuery._evalUrl( node.src, {
5941
  nonce: node.nonce || node.getAttribute( "nonce" )
5942
- } );
5943
  }
5944
  } else {
5945
  DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
@@ -5976,7 +6159,7 @@ function remove( elem, selector, keepData ) {
5976
 
5977
  jQuery.extend( {
5978
  htmlPrefilter: function( html ) {
5979
- return html.replace( rxhtmlTag, "<$1></$2>" );
5980
  },
5981
 
5982
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
@@ -6238,6 +6421,27 @@ var getStyles = function( elem ) {
6238
  return view.getComputedStyle( elem );
6239
  };
6240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6241
  var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6242
 
6243
 
@@ -6295,7 +6499,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6295
  }
6296
 
6297
  var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6298
- reliableMarginLeftVal,
6299
  container = document.createElement( "div" ),
6300
  div = document.createElement( "div" );
6301
 
@@ -6330,6 +6534,35 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6330
  scrollboxSize: function() {
6331
  computeStyleTests();
6332
  return scrollboxSizeVal;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6333
  }
6334
  } );
6335
  } )();
@@ -6454,7 +6687,7 @@ var
6454
  fontWeight: "400"
6455
  };
6456
 
6457
- function setPositiveNumber( elem, value, subtract ) {
6458
 
6459
  // Any relative (+/-) values have already been
6460
  // normalized at this point
@@ -6559,17 +6792,26 @@ function getWidthOrHeight( elem, dimension, extra ) {
6559
  }
6560
 
6561
 
6562
- // Fall back to offsetWidth/offsetHeight when value is "auto"
6563
- // This happens for inline elements with no explicit setting (gh-3571)
6564
- // Support: Android <=4.1 - 4.3 only
6565
- // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6566
- // Support: IE 9-11 only
6567
- // Also use offsetWidth/offsetHeight for when box sizing is unreliable
6568
- // We use getClientRects() to check for hidden/disconnected.
6569
- // In those cases, the computed value can be trusted to be border-box
6570
  if ( ( !support.boxSizingReliable() && isBorderBox ||
 
 
 
 
 
 
 
 
 
6571
  val === "auto" ||
 
 
 
6572
  !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
 
 
6573
  elem.getClientRects().length ) {
6574
 
6575
  isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
@@ -6764,7 +7006,7 @@ jQuery.extend( {
6764
  }
6765
  } );
6766
 
6767
- jQuery.each( [ "height", "width" ], function( i, dimension ) {
6768
  jQuery.cssHooks[ dimension ] = {
6769
  get: function( elem, computed, extra ) {
6770
  if ( computed ) {
@@ -7048,7 +7290,7 @@ boolHook = {
7048
  }
7049
  };
7050
 
7051
- jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
7052
  var getter = attrHandle[ name ] || jQuery.find.attr;
7053
 
7054
  attrHandle[ name ] = function( elem, name, isXML ) {
@@ -7672,7 +7914,9 @@ jQuery.extend( jQuery.event, {
7672
  special.bindType || type;
7673
 
7674
  // jQuery handler
7675
- handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
 
 
7676
  dataPriv.get( cur, "handle" );
7677
  if ( handle ) {
7678
  handle.apply( cur, data );
@@ -7783,7 +8027,10 @@ if ( !support.focusin ) {
7783
 
7784
  jQuery.event.special[ fix ] = {
7785
  setup: function() {
7786
- var doc = this.ownerDocument || this,
 
 
 
7787
  attaches = dataPriv.access( doc, fix );
7788
 
7789
  if ( !attaches ) {
@@ -7792,7 +8039,7 @@ if ( !support.focusin ) {
7792
  dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
7793
  },
7794
  teardown: function() {
7795
- var doc = this.ownerDocument || this,
7796
  attaches = dataPriv.access( doc, fix ) - 1;
7797
 
7798
  if ( !attaches ) {
@@ -7808,6 +8055,28 @@ if ( !support.focusin ) {
7808
  }
7809
 
7810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7811
  var
7812
  rbracket = /\[\]$/,
7813
  rCRLF = /\r?\n/g,
@@ -7912,7 +8181,7 @@ jQuery.fn.extend( {
7912
  rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
7913
  ( this.checked || !rcheckableType.test( type ) );
7914
  } )
7915
- .map( function( i, elem ) {
7916
  var val = jQuery( this ).val();
7917
 
7918
  if ( val == null ) {
@@ -8118,6 +8387,12 @@ jQuery.offset = {
8118
  options.using.call( elem, props );
8119
 
8120
  } else {
 
 
 
 
 
 
8121
  curElem.css( props );
8122
  }
8123
  }
@@ -8268,7 +8543,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
8268
  // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
8269
  // getComputedStyle returns percent when specified for top/left/bottom/right;
8270
  // rather than make the css module depend on the offset module, just check for it here
8271
- jQuery.each( [ "top", "left" ], function( i, prop ) {
8272
  jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
8273
  function( elem, computed ) {
8274
  if ( computed ) {
@@ -8331,28 +8606,6 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
8331
  } );
8332
 
8333
 
8334
- jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
8335
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
8336
- "change select submit keydown keypress keyup contextmenu" ).split( " " ),
8337
- function( i, name ) {
8338
-
8339
- // Handle event binding
8340
- jQuery.fn[ name ] = function( data, fn ) {
8341
- return arguments.length > 0 ?
8342
- this.on( name, null, data, fn ) :
8343
- this.trigger( name );
8344
- };
8345
- } );
8346
-
8347
- jQuery.fn.extend( {
8348
- hover: function( fnOver, fnOut ) {
8349
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
8350
- }
8351
- } );
8352
-
8353
-
8354
-
8355
-
8356
  jQuery.fn.extend( {
8357
 
8358
  bind: function( types, data, fn ) {
@@ -8371,9 +8624,33 @@ jQuery.fn.extend( {
8371
  return arguments.length === 1 ?
8372
  this.off( selector, "**" ) :
8373
  this.off( types, selector || "**", fn );
 
 
 
 
8374
  }
8375
  } );
8376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8377
  // Bind a function to a context, optionally partially applying any
8378
  // arguments.
8379
  // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
@@ -8436,6 +8713,11 @@ jQuery.isNumeric = function( obj ) {
8436
  !isNaN( obj - parseFloat( obj ) );
8437
  };
8438
 
 
 
 
 
 
8439
 
8440
 
8441
 
@@ -8484,7 +8766,7 @@ jQuery.noConflict = function( deep ) {
8484
  // Expose jQuery and $ identifiers, even in AMD
8485
  // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
8486
  // and CommonJS for browser emulators (#13566)
8487
- if ( !noGlobal ) {
8488
  window.jQuery = window.$ = jQuery;
8489
  }
8490
 
1
  /*!
2
+ * jQuery JavaScript Library v3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector
3
  * https://jquery.com/
4
  *
5
  * Includes Sizzle.js
9
  * Released under the MIT license
10
  * https://jquery.org/license
11
  *
12
+ * Date: 2020-04-10T15:07Z
13
  */
14
  ( function( global, factory ) {
15
 
47
 
48
  var arr = [];
49
 
 
 
50
  var getProto = Object.getPrototypeOf;
51
 
52
  var slice = arr.slice;
53
 
54
+ var flat = arr.flat ? function( array ) {
55
+ return arr.flat.call( array );
56
+ } : function( array ) {
57
+ return arr.concat.apply( [], array );
58
+ };
59
+
60
 
61
  var push = arr.push;
62
 
89
  };
90
 
91
 
92
+ var document = window.document;
93
+
94
 
95
 
96
  var preservedScriptAttributes = {
147
 
148
 
149
  var
150
+ version = "3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
151
 
152
  // Define a local copy of jQuery
153
  jQuery = function( selector, context ) {
155
  // The jQuery object is actually just the init constructor 'enhanced'
156
  // Need init if jQuery is called (just allow error to be thrown if not included)
157
  return new jQuery.fn.init( selector, context );
158
+ };
 
 
 
 
159
 
160
  jQuery.fn = jQuery.prototype = {
161
 
221
  return this.eq( -1 );
222
  },
223
 
224
+ even: function() {
225
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
226
+ return ( i + 1 ) % 2;
227
+ } ) );
228
+ },
229
+
230
+ odd: function() {
231
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
232
+ return i % 2;
233
+ } ) );
234
+ },
235
+
236
  eq: function( i ) {
237
  var len = this.length,
238
  j = +i + ( i < 0 ? len : 0 );
366
  return true;
367
  },
368
 
369
+ // Evaluates a script in a provided context; falls back to the global one
370
+ // if not specified.
371
+ globalEval: function( code, options, doc ) {
372
+ DOMEval( code, { nonce: options && options.nonce }, doc );
373
  },
374
 
375
  each: function( obj, callback ) {
393
  return obj;
394
  },
395
 
 
 
 
 
 
 
 
396
  // results is for internal usage only
397
  makeArray: function( arr, results ) {
398
  var ret = results || [];
479
  }
480
 
481
  // Flatten any nested arrays
482
+ return flat( ret );
483
  },
484
 
485
  // A global GUID counter for objects
496
 
497
  // Populate the class2type map
498
  jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
499
+ function( _i, name ) {
500
  class2type[ "[object " + name + "]" ] = name.toLowerCase();
501
  } );
502
 
518
  }
519
  var Sizzle =
520
  /*!
521
+ * Sizzle CSS Selector Engine v2.3.5
522
  * https://sizzlejs.com/
523
  *
524
  * Copyright JS Foundation and other contributors
525
  * Released under the MIT license
526
  * https://js.foundation/
527
  *
528
+ * Date: 2020-03-14
529
  */
530
+ ( function( window ) {
 
531
  var i,
532
  support,
533
  Expr,
567
  },
568
 
569
  // Instance methods
570
+ hasOwn = ( {} ).hasOwnProperty,
571
  arr = [],
572
  pop = arr.pop,
573
+ pushNative = arr.push,
574
  push = arr.push,
575
  slice = arr.slice,
576
+
577
  // Use a stripped-down indexOf as it's faster than native
578
  // https://jsperf.com/thor-indexof-vs-for/5
579
  indexOf = function( list, elem ) {
580
  var i = 0,
581
  len = list.length;
582
  for ( ; i < len; i++ ) {
583
+ if ( list[ i ] === elem ) {
584
  return i;
585
  }
586
  }
587
  return -1;
588
  },
589
 
590
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
591
+ "ismap|loop|multiple|open|readonly|required|scoped",
592
 
593
  // Regular expressions
594
 
595
  // http://www.w3.org/TR/css3-selectors/#whitespace
596
  whitespace = "[\\x20\\t\\r\\n\\f]",
597
 
598
+ // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
599
+ identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
600
+ "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
601
 
602
  // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
603
  attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
604
+
605
  // Operator (capture 2)
606
  "*([*^$|!~]?=)" + whitespace +
607
+
608
+ // "Attribute values must be CSS identifiers [capture 5]
609
+ // or strings [capture 3 or capture 4]"
610
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
611
+ whitespace + "*\\]",
612
 
613
  pseudos = ":(" + identifier + ")(?:\\((" +
614
+
615
  // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
616
  // 1. quoted (capture 3; capture 4 or capture 5)
617
  "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
618
+
619
  // 2. simple (capture 6)
620
  "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
621
+
622
  // 3. anything else (capture 2)
623
  ".*" +
624
  ")\\)|)",
625
 
626
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
627
  rwhitespace = new RegExp( whitespace + "+", "g" ),
628
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
629
+ whitespace + "+$", "g" ),
630
 
631
  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
632
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
633
+ "*" ),
634
  rdescend = new RegExp( whitespace + "|>" ),
635
 
636
  rpseudo = new RegExp( pseudos ),
642
  "TAG": new RegExp( "^(" + identifier + "|[*])" ),
643
  "ATTR": new RegExp( "^" + attributes ),
644
  "PSEUDO": new RegExp( "^" + pseudos ),
645
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
646
+ whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
647
+ whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
648
  "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
649
+
650
  // For use in libraries implementing .is()
651
  // We use this for POS matching in `select`
652
+ "needsContext": new RegExp( "^" + whitespace +
653
+ "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
654
+ "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
655
  },
656
 
657
  rhtml = /HTML$/i,
667
 
668
  // CSS escapes
669
  // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
670
+ runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
671
+ funescape = function( escape, nonHex ) {
672
+ var high = "0x" + escape.slice( 1 ) - 0x10000;
673
+
674
+ return nonHex ?
675
+
676
+ // Strip the backslash prefix from a non-hex escape sequence
677
+ nonHex :
678
+
679
+ // Replace a hexadecimal escape sequence with the encoded Unicode code point
680
+ // Support: IE <=11+
681
+ // For values outside the Basic Multilingual Plane (BMP), manually construct a
682
+ // surrogate pair
683
  high < 0 ?
 
684
  String.fromCharCode( high + 0x10000 ) :
 
685
  String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
686
  },
687
 
697
  }
698
 
699
  // Control characters and (dependent upon position) numbers get escaped as code points
700
+ return ch.slice( 0, -1 ) + "\\" +
701
+ ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
702
  }
703
 
704
  // Other potentially-special ASCII characters get backslash-escaped
723
  // Optimize for push.apply( _, NodeList )
724
  try {
725
  push.apply(
726
+ ( arr = slice.call( preferredDoc.childNodes ) ),
727
  preferredDoc.childNodes
728
  );
729
+
730
  // Support: Android<4.0
731
  // Detect silently failing push.apply
732
+ // eslint-disable-next-line no-unused-expressions
733
  arr[ preferredDoc.childNodes.length ].nodeType;
734
  } catch ( e ) {
735
  push = { apply: arr.length ?
736
 
737
  // Leverage slice if possible
738
  function( target, els ) {
739
+ pushNative.apply( target, slice.call( els ) );
740
  } :
741
 
742
  // Support: IE<9
744
  function( target, els ) {
745
  var j = target.length,
746
  i = 0;
747
+
748
  // Can't trust NodeList.length
749
+ while ( ( target[ j++ ] = els[ i++ ] ) ) {}
750
  target.length = j - 1;
751
  }
752
  };
770
 
771
  // Try to shortcut find operations (as opposed to filters) in HTML documents
772
  if ( !seed ) {
773
+ setDocument( context );
 
 
 
774
  context = context || document;
775
 
776
  if ( documentIsHTML ) {
777
 
778
  // If the selector is sufficiently simple, try using a "get*By*" DOM method
779
  // (excepting DocumentFragment context, where the methods don't exist)
780
+ if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
781
 
782
  // ID selector
783
+ if ( ( m = match[ 1 ] ) ) {
784
 
785
  // Document context
786
  if ( nodeType === 9 ) {
787
+ if ( ( elem = context.getElementById( m ) ) ) {
788
 
789
  // Support: IE, Opera, Webkit
790
  // TODO: identify versions
803
  // Support: IE, Opera, Webkit
804
  // TODO: identify versions
805
  // getElementById can match elements by name instead of ID
806
+ if ( newContext && ( elem = newContext.getElementById( m ) ) &&
807
  contains( context, elem ) &&
808
  elem.id === m ) {
809
 
813
  }
814
 
815
  // Type selector
816
+ } else if ( match[ 2 ] ) {
817
  push.apply( results, context.getElementsByTagName( selector ) );
818
  return results;
819
 
820
  // Class selector
821
+ } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
822
  context.getElementsByClassName ) {
823
 
824
  push.apply( results, context.getElementsByClassName( m ) );
829
  // Take advantage of querySelectorAll
830
  if ( support.qsa &&
831
  !nonnativeSelectorCache[ selector + " " ] &&
832
+ ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
833
 
834
  // Support: IE 8 only
835
  // Exclude object elements
836
+ ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
837
 
838
  newSelector = selector;
839
  newContext = context;
842
  // descendant combinators, which is not what we want.
843
  // In such cases, we work around the behavior by prefixing every selector in the
844
  // list with an ID selector referencing the scope context.
845
+ // The technique has to be used as well when a leading combinator is used
846
+ // as such selectors are not recognized by querySelectorAll.
847
  // Thanks to Andrew Dupont for this technique.
848
+ if ( nodeType === 1 &&
849
+ ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
850
 
851
+ // Expand context for sibling selectors
852
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
853
+ context;
854
+
855
+ // We can use :scope instead of the ID hack if the browser
856
+ // supports it & if we're not changing the context.
857
+ if ( newContext !== context || !support.scope ) {
858
+
859
+ // Capture the context ID, setting it first if necessary
860
+ if ( ( nid = context.getAttribute( "id" ) ) ) {
861
+ nid = nid.replace( rcssescape, fcssescape );
862
+ } else {
863
+ context.setAttribute( "id", ( nid = expando ) );
864
+ }
865
  }
866
 
867
  // Prefix every selector in the list
868
  groups = tokenize( selector );
869
  i = groups.length;
870
  while ( i-- ) {
871
+ groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
872
+ toSelector( groups[ i ] );
873
  }
874
  newSelector = groups.join( "," );
 
 
 
 
875
  }
876
 
877
  try {
904
  var keys = [];
905
 
906
  function cache( key, value ) {
907
+
908
  // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
909
  if ( keys.push( key + " " ) > Expr.cacheLength ) {
910
+
911
  // Only keep the most recent entries
912
  delete cache[ keys.shift() ];
913
  }
914
+ return ( cache[ key + " " ] = value );
915
  }
916
  return cache;
917
  }
930
  * @param {Function} fn Passed the created element and returns a boolean result
931
  */
932
  function assert( fn ) {
933
+ var el = document.createElement( "fieldset" );
934
 
935
  try {
936
  return !!fn( el );
937
+ } catch ( e ) {
938
  return false;
939
  } finally {
940
+
941
  // Remove from its parent by default
942
  if ( el.parentNode ) {
943
  el.parentNode.removeChild( el );
944
  }
945
+
946
  // release memory in IE
947
  el = null;
948
  }
954
  * @param {Function} handler The method that will be applied
955
  */
956
  function addHandle( attrs, handler ) {
957
+ var arr = attrs.split( "|" ),
958
  i = arr.length;
959
 
960
  while ( i-- ) {
961
+ Expr.attrHandle[ arr[ i ] ] = handler;
962
  }
963
  }
964
 
980
 
981
  // Check if b follows a
982
  if ( cur ) {
983
+ while ( ( cur = cur.nextSibling ) ) {
984
  if ( cur === b ) {
985
  return -1;
986
  }
1008
  function createButtonPseudo( type ) {
1009
  return function( elem ) {
1010
  var name = elem.nodeName.toLowerCase();
1011
+ return ( name === "input" || name === "button" ) && elem.type === type;
1012
  };
1013
  }
1014
 
1051
  // Where there is no isDisabled, check manually
1052
  /* jshint -W018 */
1053
  elem.isDisabled !== !disabled &&
1054
+ inDisabledFieldset( elem ) === disabled;
1055
  }
1056
 
1057
  return elem.disabled === disabled;
1073
  * @param {Function} fn
1074
  */
1075
  function createPositionalPseudo( fn ) {
1076
+ return markFunction( function( argument ) {
1077
  argument = +argument;
1078
+ return markFunction( function( seed, matches ) {
1079
  var j,
1080
  matchIndexes = fn( [], seed.length, argument ),
1081
  i = matchIndexes.length;
1082
 
1083
  // Match elements found at the specified indexes
1084
  while ( i-- ) {
1085
+ if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
1086
+ seed[ j ] = !( matches[ j ] = seed[ j ] );
1087
  }
1088
  }
1089
+ } );
1090
+ } );
1091
  }
1092
 
1093
  /**
1109
  */
1110
  isXML = Sizzle.isXML = function( elem ) {
1111
  var namespace = elem.namespaceURI,
1112
+ docElem = ( elem.ownerDocument || elem ).documentElement;
1113
 
1114
  // Support: IE <=8
1115
  // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
1127
  doc = node ? node.ownerDocument || node : preferredDoc;
1128
 
1129
  // Return early if doc is invalid or already selected
1130
+ // Support: IE 11+, Edge 17 - 18+
1131
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1132
+ // two documents; shallow comparisons work.
1133
+ // eslint-disable-next-line eqeqeq
1134
+ if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
1135
  return document;
1136
  }
1137
 
1140
  docElem = document.documentElement;
1141
  documentIsHTML = !isXML( document );
1142
 
1143
+ // Support: IE 9 - 11+, Edge 12 - 18+
1144
  // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
1145
+ // Support: IE 11+, Edge 17 - 18+
1146
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1147
+ // two documents; shallow comparisons work.
1148
+ // eslint-disable-next-line eqeqeq
1149
+ if ( preferredDoc != document &&
1150
+ ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
1151
 
1152
  // Support: IE 11, Edge
1153
  if ( subWindow.addEventListener ) {
1159
  }
1160
  }
1161
 
1162
+ // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
1163
+ // Safari 4 - 5 only, Opera <=11.6 - 12.x only
1164
+ // IE/Edge & older browsers don't support the :scope pseudo-class.
1165
+ // Support: Safari 6.0 only
1166
+ // Safari 6.0 supports :scope but it's an alias of :root there.
1167
+ support.scope = assert( function( el ) {
1168
+ docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
1169
+ return typeof el.querySelectorAll !== "undefined" &&
1170
+ !el.querySelectorAll( ":scope fieldset div" ).length;
1171
+ } );
1172
+
1173
  /* Attributes
1174
  ---------------------------------------------------------------------- */
1175
 
1176
  // Support: IE<8
1177
  // Verify that getAttribute really returns attributes and not properties
1178
  // (excepting IE8 booleans)
1179
+ support.attributes = assert( function( el ) {
1180
  el.className = "i";
1181
+ return !el.getAttribute( "className" );
1182
+ } );
1183
 
1184
  /* getElement(s)By*
1185
  ---------------------------------------------------------------------- */
1186
 
1187
  // Check if getElementsByTagName("*") returns only elements
1188
+ support.getElementsByTagName = assert( function( el ) {
1189
+ el.appendChild( document.createComment( "" ) );
1190
+ return !el.getElementsByTagName( "*" ).length;
1191
+ } );
1192
 
1193
  // Support: IE<9
1194
  support.getElementsByClassName = rnative.test( document.getElementsByClassName );
1197
  // Check if getElementById returns elements by name
1198
  // The broken getElementById methods don't pick up programmatically-set names,
1199
  // so use a roundabout getElementsByName test
1200
+ support.getById = assert( function( el ) {
1201
  docElem.appendChild( el ).id = expando;
1202
  return !document.getElementsByName || !document.getElementsByName( expando ).length;
1203
+ } );
1204
 
1205
  // ID filter and find
1206
  if ( support.getById ) {
1207
+ Expr.filter[ "ID" ] = function( id ) {
1208
  var attrId = id.replace( runescape, funescape );
1209
  return function( elem ) {
1210
+ return elem.getAttribute( "id" ) === attrId;
1211
  };
1212
  };
1213
+ Expr.find[ "ID" ] = function( id, context ) {
1214
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1215
  var elem = context.getElementById( id );
1216
  return elem ? [ elem ] : [];
1217
  }
1218
  };
1219
  } else {
1220
+ Expr.filter[ "ID" ] = function( id ) {
1221
  var attrId = id.replace( runescape, funescape );
1222
  return function( elem ) {
1223
  var node = typeof elem.getAttributeNode !== "undefined" &&
1224
+ elem.getAttributeNode( "id" );
1225
  return node && node.value === attrId;
1226
  };
1227
  };
1228
 
1229
  // Support: IE 6 - 7 only
1230
  // getElementById is not reliable as a find shortcut
1231
+ Expr.find[ "ID" ] = function( id, context ) {
1232
  if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1233
  var node, i, elems,
1234
  elem = context.getElementById( id );
1236
  if ( elem ) {
1237
 
1238
  // Verify the id attribute
1239
+ node = elem.getAttributeNode( "id" );
1240
  if ( node && node.value === id ) {
1241
  return [ elem ];
1242
  }
1244
  // Fall back on getElementsByName
1245
  elems = context.getElementsByName( id );
1246
  i = 0;
1247
+ while ( ( elem = elems[ i++ ] ) ) {
1248
+ node = elem.getAttributeNode( "id" );
1249
  if ( node && node.value === id ) {
1250
  return [ elem ];
1251
  }
1258
  }
1259
 
1260
  // Tag
1261
+ Expr.find[ "TAG" ] = support.getElementsByTagName ?
1262
  function( tag, context ) {
1263
  if ( typeof context.getElementsByTagName !== "undefined" ) {
1264
  return context.getElementsByTagName( tag );
1273
  var elem,
1274
  tmp = [],
1275
  i = 0,
1276
+
1277
  // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
1278
  results = context.getElementsByTagName( tag );
1279
 
1280
  // Filter out possible comments
1281
  if ( tag === "*" ) {
1282
+ while ( ( elem = results[ i++ ] ) ) {
1283
  if ( elem.nodeType === 1 ) {
1284
  tmp.push( elem );
1285
  }
1291
  };
1292
 
1293
  // Class
1294
+ Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
1295
  if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1296
  return context.getElementsByClassName( className );
1297
  }
1312
  // See https://bugs.jquery.com/ticket/13378
1313
  rbuggyQSA = [];
1314
 
1315
+ if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
1316
+
1317
  // Build QSA regex
1318
  // Regex strategy adopted from Diego Perini
1319
+ assert( function( el ) {
1320
+
1321
+ var input;
1322
+
1323
  // Select is set to empty string on purpose
1324
  // This is to test IE's treatment of not explicitly
1325
  // setting a boolean content attribute,
1333
  // Nothing should be selected when empty strings follow ^= or $= or *=
1334
  // The test attribute must be unknown in Opera but "safe" for WinRT
1335
  // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1336
+ if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
1337
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1338
  }
1339
 
1340
  // Support: IE8
1341
  // Boolean attributes and "value" are not treated correctly
1342
+ if ( !el.querySelectorAll( "[selected]" ).length ) {
1343
  rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1344
  }
1345
 
1346
  // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
1347
  if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1348
+ rbuggyQSA.push( "~=" );
1349
+ }
1350
+
1351
+ // Support: IE 11+, Edge 15 - 18+
1352
+ // IE 11/Edge don't find elements on a `[name='']` query in some cases.
1353
+ // Adding a temporary attribute to the document before the selection works
1354
+ // around the issue.
1355
+ // Interestingly, IE 10 & older don't seem to have the issue.
1356
+ input = document.createElement( "input" );
1357
+ input.setAttribute( "name", "" );
1358
+ el.appendChild( input );
1359
+ if ( !el.querySelectorAll( "[name='']" ).length ) {
1360
+ rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
1361
+ whitespace + "*(?:''|\"\")" );
1362
  }
1363
 
1364
  // Webkit/Opera - :checked should return selected option elements
1365
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1366
  // IE8 throws error here and will not see later tests
1367
+ if ( !el.querySelectorAll( ":checked" ).length ) {
1368
+ rbuggyQSA.push( ":checked" );
1369
  }
1370
 
1371
  // Support: Safari 8+, iOS 8+
1372
  // https://bugs.webkit.org/show_bug.cgi?id=136851
1373
  // In-page `selector#id sibling-combinator selector` fails
1374
  if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1375
+ rbuggyQSA.push( ".#.+[+~]" );
1376
  }
 
1377
 
1378
+ // Support: Firefox <=3.6 - 5 only
1379
+ // Old Firefox doesn't throw on a badly-escaped identifier.
1380
+ el.querySelectorAll( "\\\f" );
1381
+ rbuggyQSA.push( "[\\r\\n\\f]" );
1382
+ } );
1383
+
1384
+ assert( function( el ) {
1385
  el.innerHTML = "<a href='' disabled='disabled'></a>" +
1386
  "<select disabled='disabled'><option/></select>";
1387
 
1388
  // Support: Windows 8 Native Apps
1389
  // The type and name attributes are restricted during .innerHTML assignment
1390
+ var input = document.createElement( "input" );
1391
  input.setAttribute( "type", "hidden" );
1392
  el.appendChild( input ).setAttribute( "name", "D" );
1393
 
1394
  // Support: IE8
1395
  // Enforce case-sensitivity of name attribute
1396
+ if ( el.querySelectorAll( "[name=d]" ).length ) {
1397
  rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
1398
  }
1399
 
1400
  // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1401
  // IE8 throws error here and will not see later tests
1402
+ if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
1403
  rbuggyQSA.push( ":enabled", ":disabled" );
1404
  }
1405
 
1406
  // Support: IE9-11+
1407
  // IE's :disabled selector does not pick up the children of disabled fieldsets
1408
  docElem.appendChild( el ).disabled = true;
1409
+ if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
1410
  rbuggyQSA.push( ":enabled", ":disabled" );
1411
  }
1412
 
1413
+ // Support: Opera 10 - 11 only
1414
  // Opera 10-11 does not throw on post-comma invalid pseudos
1415
+ el.querySelectorAll( "*,:x" );
1416
+ rbuggyQSA.push( ",.*:" );
1417
+ } );
1418
  }
1419
 
1420
+ if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
1421
  docElem.webkitMatchesSelector ||
1422
  docElem.mozMatchesSelector ||
1423
  docElem.oMatchesSelector ||
1424
+ docElem.msMatchesSelector ) ) ) ) {
1425
+
1426
+ assert( function( el ) {
1427
 
 
1428
  // Check to see if it's possible to do matchesSelector
1429
  // on a disconnected node (IE 9)
1430
  support.disconnectedMatch = matches.call( el, "*" );
1433
  // Gecko does not error, returns false instead
1434
  matches.call( el, "[s!='']:x" );
1435
  rbuggyMatches.push( "!=", pseudos );
1436
+ } );
1437
  }
1438
 
1439
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
1440
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
1441
 
1442
  /* Contains
1443
  ---------------------------------------------------------------------- */
1454
  adown.contains ?
1455
  adown.contains( bup ) :
1456
  a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1457
+ ) );
1458
  } :
1459
  function( a, b ) {
1460
  if ( b ) {
1461
+ while ( ( b = b.parentNode ) ) {
1462
  if ( b === a ) {
1463
  return true;
1464
  }
1487
  }
1488
 
1489
  // Calculate position if both inputs belong to the same document
1490
+ // Support: IE 11+, Edge 17 - 18+
1491
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1492
+ // two documents; shallow comparisons work.
1493
+ // eslint-disable-next-line eqeqeq
1494
+ compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
1495
  a.compareDocumentPosition( b ) :
1496
 
1497
  // Otherwise we know they are disconnected
1499
 
1500
  // Disconnected nodes
1501
  if ( compare & 1 ||
1502
+ ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
1503
 
1504
  // Choose the first element that is related to our preferred document
1505
+ // Support: IE 11+, Edge 17 - 18+
1506
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1507
+ // two documents; shallow comparisons work.
1508
+ // eslint-disable-next-line eqeqeq
1509
+ if ( a == document || a.ownerDocument == preferredDoc &&
1510
+ contains( preferredDoc, a ) ) {
1511
  return -1;
1512
  }
1513
+
1514
+ // Support: IE 11+, Edge 17 - 18+
1515
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1516
+ // two documents; shallow comparisons work.
1517
+ // eslint-disable-next-line eqeqeq
1518
+ if ( b == document || b.ownerDocument == preferredDoc &&
1519
+ contains( preferredDoc, b ) ) {
1520
  return 1;
1521
  }
1522
 
1529
  return compare & 4 ? -1 : 1;
1530
  } :
1531
  function( a, b ) {
1532
+
1533
  // Exit early if the nodes are identical
1534
  if ( a === b ) {
1535
  hasDuplicate = true;
1545
 
1546
  // Parentless nodes are either documents or disconnected
1547
  if ( !aup || !bup ) {
1548
+
1549
+ // Support: IE 11+, Edge 17 - 18+
1550
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1551
+ // two documents; shallow comparisons work.
1552
+ /* eslint-disable eqeqeq */
1553
+ return a == document ? -1 :
1554
+ b == document ? 1 :
1555
+ /* eslint-enable eqeqeq */
1556
  aup ? -1 :
1557
  bup ? 1 :
1558
  sortInput ?
1566
 
1567
  // Otherwise we need full lists of their ancestors for comparison
1568
  cur = a;
1569
+ while ( ( cur = cur.parentNode ) ) {
1570
  ap.unshift( cur );
1571
  }
1572
  cur = b;
1573
+ while ( ( cur = cur.parentNode ) ) {
1574
  bp.unshift( cur );
1575
  }
1576
 
1577
  // Walk down the tree looking for a discrepancy
1578
+ while ( ap[ i ] === bp[ i ] ) {
1579
  i++;
1580
  }
1581
 
1582
  return i ?
1583
+
1584
  // Do a sibling check if the nodes have a common ancestor
1585
+ siblingCheck( ap[ i ], bp[ i ] ) :
1586
 
1587
  // Otherwise nodes in our document sort first
1588
+ // Support: IE 11+, Edge 17 - 18+
1589
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1590
+ // two documents; shallow comparisons work.
1591
+ /* eslint-disable eqeqeq */
1592
+ ap[ i ] == preferredDoc ? -1 :
1593
+ bp[ i ] == preferredDoc ? 1 :
1594
+ /* eslint-enable eqeqeq */
1595
  0;
1596
  };
1597
 
1603
  };
1604
 
1605
  Sizzle.matchesSelector = function( elem, expr ) {
1606
+ setDocument( elem );
 
 
 
1607
 
1608
  if ( support.matchesSelector && documentIsHTML &&
1609
  !nonnativeSelectorCache[ expr + " " ] &&
1615
 
1616
  // IE 9's matchesSelector returns false on disconnected nodes
1617
  if ( ret || support.disconnectedMatch ||
1618
+
1619
+ // As well, disconnected nodes are said to be in a document
1620
+ // fragment in IE 9
1621
+ elem.document && elem.document.nodeType !== 11 ) {
1622
  return ret;
1623
  }
1624
+ } catch ( e ) {
1625
  nonnativeSelectorCache( expr, true );
1626
  }
1627
  }
1630
  };
1631
 
1632
  Sizzle.contains = function( context, elem ) {
1633
+
1634
  // Set document vars if needed
1635
+ // Support: IE 11+, Edge 17 - 18+
1636
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1637
+ // two documents; shallow comparisons work.
1638
+ // eslint-disable-next-line eqeqeq
1639
+ if ( ( context.ownerDocument || context ) != document ) {
1640
  setDocument( context );
1641
  }
1642
  return contains( context, elem );
1643
  };
1644
 
1645
  Sizzle.attr = function( elem, name ) {
1646
+
1647
  // Set document vars if needed
1648
+ // Support: IE 11+, Edge 17 - 18+
1649
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1650
+ // two documents; shallow comparisons work.
1651
+ // eslint-disable-next-line eqeqeq
1652
+ if ( ( elem.ownerDocument || elem ) != document ) {
1653
  setDocument( elem );
1654
  }
1655
 
1656
  var fn = Expr.attrHandle[ name.toLowerCase() ],
1657
+
1658
  // Don't get fooled by Object.prototype properties (jQuery #13807)
1659
  val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1660
  fn( elem, name, !documentIsHTML ) :
1664
  val :
1665
  support.attributes || !documentIsHTML ?
1666
  elem.getAttribute( name ) :
1667
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
1668
  val.value :
1669
  null;
1670
  };
1671
 
1672
  Sizzle.escape = function( sel ) {
1673
+ return ( sel + "" ).replace( rcssescape, fcssescape );
1674
  };
1675
 
1676
  Sizzle.error = function( msg ) {
1693
  results.sort( sortOrder );
1694
 
1695
  if ( hasDuplicate ) {
1696
+ while ( ( elem = results[ i++ ] ) ) {
1697
  if ( elem === results[ i ] ) {
1698
  j = duplicates.push( i );
1699
  }
1721
  nodeType = elem.nodeType;
1722
 
1723
  if ( !nodeType ) {
1724
+
1725
  // If no nodeType, this is expected to be an array
1726
+ while ( ( node = elem[ i++ ] ) ) {
1727
+
1728
  // Do not traverse comment nodes
1729
  ret += getText( node );
1730
  }
1731
  } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
1732
+
1733
  // Use textContent for elements
1734
  // innerText usage removed for consistency of new lines (jQuery #11153)
1735
  if ( typeof elem.textContent === "string" ) {
1736
  return elem.textContent;
1737
  } else {
1738
+
1739
  // Traverse its children
1740
  for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1741
  ret += getText( elem );
1744
  } else if ( nodeType === 3 || nodeType === 4 ) {
1745
  return elem.nodeValue;
1746
  }
1747
+
1748
  // Do not include comment or processing instruction nodes
1749
 
1750
  return ret;
1772
 
1773
  preFilter: {
1774
  "ATTR": function( match ) {
1775
+ match[ 1 ] = match[ 1 ].replace( runescape, funescape );
1776
 
1777
  // Move the given value to match[3] whether quoted or unquoted
1778
+ match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
1779
+ match[ 5 ] || "" ).replace( runescape, funescape );
1780
 
1781
+ if ( match[ 2 ] === "~=" ) {
1782
+ match[ 3 ] = " " + match[ 3 ] + " ";
1783
  }
1784
 
1785
  return match.slice( 0, 4 );
1786
  },
1787
 
1788
  "CHILD": function( match ) {
1789
+
1790
  /* matches from matchExpr["CHILD"]
1791
  1 type (only|nth|...)
1792
  2 what (child|of-type)
1797
  7 sign of y-component
1798
  8 y of y-component
1799
  */
1800
+ match[ 1 ] = match[ 1 ].toLowerCase();
1801
+
1802
+ if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
1803
 
 
1804
  // nth-* requires argument
1805
+ if ( !match[ 3 ] ) {
1806
+ Sizzle.error( match[ 0 ] );
1807
  }
1808
 
1809
  // numeric x and y parameters for Expr.filter.CHILD
1810
  // remember that false/true cast respectively to 0/1
1811
+ match[ 4 ] = +( match[ 4 ] ?
1812
+ match[ 5 ] + ( match[ 6 ] || 1 ) :
1813
+ 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
1814
+ match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
1815
 
1816
+ // other types prohibit arguments
1817
+ } else if ( match[ 3 ] ) {
1818
+ Sizzle.error( match[ 0 ] );
1819
  }
1820
 
1821
  return match;
1823
 
1824
  "PSEUDO": function( match ) {
1825
  var excess,
1826
+ unquoted = !match[ 6 ] && match[ 2 ];
1827
 
1828
+ if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
1829
  return null;
1830
  }
1831
 
1832
  // Accept quoted arguments as-is
1833
+ if ( match[ 3 ] ) {
1834
+ match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
1835
 
1836
  // Strip excess characters from unquoted arguments
1837
  } else if ( unquoted && rpseudo.test( unquoted ) &&
1838
+
1839
  // Get excess from tokenize (recursively)
1840
+ ( excess = tokenize( unquoted, true ) ) &&
1841
+
1842
  // advance to the next closing parenthesis
1843
+ ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
1844
 
1845
  // excess is a negative index
1846
+ match[ 0 ] = match[ 0 ].slice( 0, excess );
1847
+ match[ 2 ] = unquoted.slice( 0, excess );
1848
  }
1849
 
1850
  // Return only captures needed by the pseudo filter method (type and argument)
1857
  "TAG": function( nodeNameSelector ) {
1858
  var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1859
  return nodeNameSelector === "*" ?
1860
+ function() {
1861
+ return true;
1862
+ } :
1863
  function( elem ) {
1864
  return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1865
  };
1869
  var pattern = classCache[ className + " " ];
1870
 
1871
  return pattern ||
1872
+ ( pattern = new RegExp( "(^|" + whitespace +
1873
+ ")" + className + "(" + whitespace + "|$)" ) ) && classCache(
1874
+ className, function( elem ) {
1875
+ return pattern.test(
1876
+ typeof elem.className === "string" && elem.className ||
1877
+ typeof elem.getAttribute !== "undefined" &&
1878
+ elem.getAttribute( "class" ) ||
1879
+ ""
1880
+ );
1881
+ } );
1882
  },
1883
 
1884
  "ATTR": function( name, operator, check ) {
1894
 
1895
  result += "";
1896
 
1897
+ /* eslint-disable max-len */
1898
+
1899
  return operator === "=" ? result === check :
1900
  operator === "!=" ? result !== check :
1901
  operator === "^=" ? check && result.indexOf( check ) === 0 :
1904
  operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1905
  operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1906
  false;
1907
+ /* eslint-enable max-len */
1908
+
1909
  };
1910
  },
1911
 
1912
+ "CHILD": function( type, what, _argument, first, last ) {
1913
  var simple = type.slice( 0, 3 ) !== "nth",
1914
  forward = type.slice( -4 ) !== "last",
1915
  ofType = what === "of-type";
1921
  return !!elem.parentNode;
1922
  } :
1923
 
1924
+ function( elem, _context, xml ) {
1925
  var cache, uniqueCache, outerCache, node, nodeIndex, start,
1926
  dir = simple !== forward ? "nextSibling" : "previousSibling",
1927
  parent = elem.parentNode,
1935
  if ( simple ) {
1936
  while ( dir ) {
1937
  node = elem;
1938
+ while ( ( node = node[ dir ] ) ) {
1939
  if ( ofType ?
1940
  node.nodeName.toLowerCase() === name :
1941
  node.nodeType === 1 ) {
1943
  return false;
1944
  }
1945
  }
1946
+
1947
  // Reverse direction for :only-* (if we haven't yet done so)
1948
  start = dir = type === "only" && !start && "nextSibling";
1949
  }
1959
 
1960
  // ...in a gzip-friendly way
1961
  node = parent;
1962
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
1963
 
1964
  // Support: IE <9 only
1965
  // Defend against cloned attroperties (jQuery gh-1709)
1966
  uniqueCache = outerCache[ node.uniqueID ] ||
1967
+ ( outerCache[ node.uniqueID ] = {} );
1968
 
1969
  cache = uniqueCache[ type ] || [];
1970
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1971
  diff = nodeIndex && cache[ 2 ];
1972
  node = nodeIndex && parent.childNodes[ nodeIndex ];
1973
 
1974
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
1975
 
1976
  // Fallback to seeking `elem` from the start
1977
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
1978
 
1979
  // When found, cache indexes on `parent` and break
1980
  if ( node.nodeType === 1 && ++diff && node === elem ) {
1984
  }
1985
 
1986
  } else {
1987
+
1988
  // Use previously-cached element index if available
1989
  if ( useCache ) {
1990
+
1991
  // ...in a gzip-friendly way
1992
  node = elem;
1993
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
1994
 
1995
  // Support: IE <9 only
1996
  // Defend against cloned attroperties (jQuery gh-1709)
1997
  uniqueCache = outerCache[ node.uniqueID ] ||
1998
+ ( outerCache[ node.uniqueID ] = {} );
1999
 
2000
  cache = uniqueCache[ type ] || [];
2001
  nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
2005
  // xml :nth-child(...)
2006
  // or :nth-last-child(...) or :nth(-last)?-of-type(...)
2007
  if ( diff === false ) {
2008
+
2009
  // Use the same loop as above to seek `elem` from the start
2010
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
2011
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
2012
 
2013
  if ( ( ofType ?
2014
  node.nodeName.toLowerCase() === name :
2017
 
2018
  // Cache the index of each encountered element
2019
  if ( useCache ) {
2020
+ outerCache = node[ expando ] ||
2021
+ ( node[ expando ] = {} );
2022
 
2023
  // Support: IE <9 only
2024
  // Defend against cloned attroperties (jQuery gh-1709)
2025
  uniqueCache = outerCache[ node.uniqueID ] ||
2026
+ ( outerCache[ node.uniqueID ] = {} );
2027
 
2028
  uniqueCache[ type ] = [ dirruns, diff ];
2029
  }
2044
  },
2045
 
2046
  "PSEUDO": function( pseudo, argument ) {
2047
+
2048
  // pseudo-class names are case-insensitive
2049
  // http://www.w3.org/TR/selectors/#pseudo-classes
2050
  // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
2064
  if ( fn.length > 1 ) {
2065
  args = [ pseudo, pseudo, "", argument ];
2066
  return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
2067
+ markFunction( function( seed, matches ) {
2068
  var idx,
2069
  matched = fn( seed, argument ),
2070
  i = matched.length;
2071
  while ( i-- ) {
2072
+ idx = indexOf( seed, matched[ i ] );
2073
+ seed[ idx ] = !( matches[ idx ] = matched[ i ] );
2074
  }
2075
+ } ) :
2076
  function( elem ) {
2077
  return fn( elem, 0, args );
2078
  };
2083
  },
2084
 
2085
  pseudos: {
2086
+
2087
  // Potentially complex pseudos
2088
+ "not": markFunction( function( selector ) {
2089
+
2090
  // Trim the selector passed to compile
2091
  // to avoid treating leading and trailing
2092
  // spaces as combinators
2095
  matcher = compile( selector.replace( rtrim, "$1" ) );
2096
 
2097
  return matcher[ expando ] ?
2098
+ markFunction( function( seed, matches, _context, xml ) {
2099
  var elem,
2100
  unmatched = matcher( seed, null, xml, [] ),
2101
  i = seed.length;
2102
 
2103
  // Match elements unmatched by `matcher`
2104
  while ( i-- ) {
2105
+ if ( ( elem = unmatched[ i ] ) ) {
2106
+ seed[ i ] = !( matches[ i ] = elem );
2107
  }
2108
  }
2109
+ } ) :
2110
+ function( elem, _context, xml ) {
2111
+ input[ 0 ] = elem;
2112
  matcher( input, null, xml, results );
2113
+
2114
  // Don't keep the element (issue #299)
2115
+ input[ 0 ] = null;
2116
  return !results.pop();
2117
  };
2118
+ } ),
2119
 
2120
+ "has": markFunction( function( selector ) {
2121
  return function( elem ) {
2122
  return Sizzle( selector, elem ).length > 0;
2123
  };
2124
+ } ),
2125
 
2126
+ "contains": markFunction( function( text ) {
2127
  text = text.replace( runescape, funescape );
2128
  return function( elem ) {
2129
  return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
2130
  };
2131
+ } ),
2132
 
2133
  // "Whether an element is represented by a :lang() selector
2134
  // is based solely on the element's language value
2138
  // The identifier C does not have to be a valid language name."
2139
  // http://www.w3.org/TR/selectors/#lang-pseudo
2140
  "lang": markFunction( function( lang ) {
2141
+
2142
  // lang value must be a valid identifier
2143
+ if ( !ridentifier.test( lang || "" ) ) {
2144
  Sizzle.error( "unsupported lang: " + lang );
2145
  }
2146
  lang = lang.replace( runescape, funescape ).toLowerCase();
2147
  return function( elem ) {
2148
  var elemLang;
2149
  do {
2150
+ if ( ( elemLang = documentIsHTML ?
2151
  elem.lang :
2152
+ elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
2153
 
2154
  elemLang = elemLang.toLowerCase();
2155
  return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2156
  }
2157
+ } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
2158
  return false;
2159
  };
2160
+ } ),
2161
 
2162
  // Miscellaneous
2163
  "target": function( elem ) {
2170
  },
2171
 
2172
  "focus": function( elem ) {
2173
+ return elem === document.activeElement &&
2174
+ ( !document.hasFocus || document.hasFocus() ) &&
2175
+ !!( elem.type || elem.href || ~elem.tabIndex );
2176
  },
2177
 
2178
  // Boolean properties
2180
  "disabled": createDisabledPseudo( true ),
2181
 
2182
  "checked": function( elem ) {
2183
+
2184
  // In CSS3, :checked should return both checked and selected elements
2185
  // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2186
  var nodeName = elem.nodeName.toLowerCase();
2187
+ return ( nodeName === "input" && !!elem.checked ) ||
2188
+ ( nodeName === "option" && !!elem.selected );
2189
  },
2190
 
2191
  "selected": function( elem ) {
2192
+
2193
  // Accessing this property makes selected-by-default
2194
  // options in Safari work properly
2195
  if ( elem.parentNode ) {
2196
+ // eslint-disable-next-line no-unused-expressions
2197
  elem.parentNode.selectedIndex;
2198
  }
2199
 
2202
 
2203
  // Contents
2204
  "empty": function( elem ) {
2205
+
2206
  // http://www.w3.org/TR/selectors/#empty-pseudo
2207
  // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
2208
  // but not by others (comment: 8; processing instruction: 7; etc.)
2216
  },
2217
 
2218
  "parent": function( elem ) {
2219
+ return !Expr.pseudos[ "empty" ]( elem );
2220
  },
2221
 
2222
  // Element/input types
2240
 
2241
  // Support: IE<8
2242
  // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2243
+ ( ( attr = elem.getAttribute( "type" ) ) == null ||
2244
+ attr.toLowerCase() === "text" );
2245
  },
2246
 
2247
  // Position-in-collection
2248
+ "first": createPositionalPseudo( function() {
2249
  return [ 0 ];
2250
+ } ),
2251
 
2252
+ "last": createPositionalPseudo( function( _matchIndexes, length ) {
2253
  return [ length - 1 ];
2254
+ } ),
2255
 
2256
+ "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
2257
  return [ argument < 0 ? argument + length : argument ];
2258
+ } ),
2259
 
2260
+ "even": createPositionalPseudo( function( matchIndexes, length ) {
2261
  var i = 0;
2262
  for ( ; i < length; i += 2 ) {
2263
  matchIndexes.push( i );
2264
  }
2265
  return matchIndexes;
2266
+ } ),
2267
 
2268
+ "odd": createPositionalPseudo( function( matchIndexes, length ) {
2269
  var i = 1;
2270
  for ( ; i < length; i += 2 ) {
2271
  matchIndexes.push( i );
2272
  }
2273
  return matchIndexes;
2274
+ } ),
2275
 
2276
+ "lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2277
  var i = argument < 0 ?
2278
  argument + length :
2279
  argument > length ?
2283
  matchIndexes.push( i );
2284
  }
2285
  return matchIndexes;
2286
+ } ),
2287
 
2288
+ "gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2289
  var i = argument < 0 ? argument + length : argument;
2290
  for ( ; ++i < length; ) {
2291
  matchIndexes.push( i );
2292
  }
2293
  return matchIndexes;
2294
+ } )
2295
  }
2296
  };
2297
 
2298
+ Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
2299
 
2300
  // Add button/input type pseudos
2301
  for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
2326
  while ( soFar ) {
2327
 
2328
  // Comma and first run
2329
+ if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
2330
  if ( match ) {
2331
+
2332
  // Don't consume trailing commas as valid
2333
+ soFar = soFar.slice( match[ 0 ].length ) || soFar;
2334
  }
2335
+ groups.push( ( tokens = [] ) );
2336
  }
2337
 
2338
  matched = false;
2339
 
2340
  // Combinators
2341
+ if ( ( match = rcombinators.exec( soFar ) ) ) {
2342
  matched = match.shift();
2343
+ tokens.push( {
2344
  value: matched,
2345
+
2346
  // Cast descendant combinators to space
2347
+ type: match[ 0 ].replace( rtrim, " " )
2348
+ } );
2349
  soFar = soFar.slice( matched.length );
2350
  }
2351
 
2352
  // Filters
2353
  for ( type in Expr.filter ) {
2354
+ if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
2355
+ ( match = preFilters[ type ]( match ) ) ) ) {
2356
  matched = match.shift();
2357
+ tokens.push( {
2358
  value: matched,
2359
  type: type,
2360
  matches: match
2361
+ } );
2362
  soFar = soFar.slice( matched.length );
2363
  }
2364
  }
2375
  soFar.length :
2376
  soFar ?
2377
  Sizzle.error( selector ) :
2378
+
2379
  // Cache the tokens
2380
  tokenCache( selector, groups ).slice( 0 );
2381
  };
2385
  len = tokens.length,
2386
  selector = "";
2387
  for ( ; i < len; i++ ) {
2388
+ selector += tokens[ i ].value;
2389
  }
2390
  return selector;
2391
  }
2398
  doneName = done++;
2399
 
2400
  return combinator.first ?
2401
+
2402
  // Check against closest ancestor/preceding element
2403
  function( elem, context, xml ) {
2404
+ while ( ( elem = elem[ dir ] ) ) {
2405
  if ( elem.nodeType === 1 || checkNonElements ) {
2406
  return matcher( elem, context, xml );
2407
  }
2416
 
2417
  // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2418
  if ( xml ) {
2419
+ while ( ( elem = elem[ dir ] ) ) {
2420
  if ( elem.nodeType === 1 || checkNonElements ) {
2421
  if ( matcher( elem, context, xml ) ) {
2422
  return true;
2424
  }
2425
  }
2426
  } else {
2427
+ while ( ( elem = elem[ dir ] ) ) {
2428
  if ( elem.nodeType === 1 || checkNonElements ) {
2429
+ outerCache = elem[ expando ] || ( elem[ expando ] = {} );
2430
 
2431
  // Support: IE <9 only
2432
  // Defend against cloned attroperties (jQuery gh-1709)
2433
+ uniqueCache = outerCache[ elem.uniqueID ] ||
2434
+ ( outerCache[ elem.uniqueID ] = {} );
2435
 
2436
  if ( skip && skip === elem.nodeName.toLowerCase() ) {
2437
  elem = elem[ dir ] || elem;
2438
+ } else if ( ( oldCache = uniqueCache[ key ] ) &&
2439
  oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2440
 
2441
  // Assign to newCache so results back-propagate to previous elements
2442
+ return ( newCache[ 2 ] = oldCache[ 2 ] );
2443
  } else {
2444
+
2445
  // Reuse newcache so results back-propagate to previous elements
2446
  uniqueCache[ key ] = newCache;
2447
 
2448
  // A match means we're done; a fail means we have to keep checking
2449
+ if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
2450
  return true;
2451
  }
2452
  }
2462
  function( elem, context, xml ) {
2463
  var i = matchers.length;
2464
  while ( i-- ) {
2465
+ if ( !matchers[ i ]( elem, context, xml ) ) {
2466
  return false;
2467
  }
2468
  }
2469
  return true;
2470
  } :
2471
+ matchers[ 0 ];
2472
  }
2473
 
2474
  function multipleContexts( selector, contexts, results ) {
2475
  var i = 0,
2476
  len = contexts.length;
2477
  for ( ; i < len; i++ ) {
2478
+ Sizzle( selector, contexts[ i ], results );
2479
  }
2480
  return results;
2481
  }
2488
  mapped = map != null;
2489
 
2490
  for ( ; i < len; i++ ) {
2491
+ if ( ( elem = unmatched[ i ] ) ) {
2492
  if ( !filter || filter( elem, context, xml ) ) {
2493
  newUnmatched.push( elem );
2494
  if ( mapped ) {
2508
  if ( postFinder && !postFinder[ expando ] ) {
2509
  postFinder = setMatcher( postFinder, postSelector );
2510
  }
2511
+ return markFunction( function( seed, results, context, xml ) {
2512
  var temp, i, elem,
2513
  preMap = [],
2514
  postMap = [],
2515
  preexisting = results.length,
2516
 
2517
  // Get initial elements from seed or context
2518
+ elems = seed || multipleContexts(
2519
+ selector || "*",
2520
+ context.nodeType ? [ context ] : context,
2521
+ []
2522
+ ),
2523
 
2524
  // Prefilter to get matcher input, preserving a map for seed-results synchronization
2525
  matcherIn = preFilter && ( seed || !selector ) ?
2527
  elems,
2528
 
2529
  matcherOut = matcher ?
2530
+
2531
  // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2532
  postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2533
 
2551
  // Un-match failing elements by moving them back to matcherIn
2552
  i = temp.length;
2553
  while ( i-- ) {
2554
+ if ( ( elem = temp[ i ] ) ) {
2555
+ matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
2556
  }
2557
  }
2558
  }
2560
  if ( seed ) {
2561
  if ( postFinder || preFilter ) {
2562
  if ( postFinder ) {
2563
+
2564
  // Get the final matcherOut by condensing this intermediate into postFinder contexts
2565
  temp = [];
2566
  i = matcherOut.length;
2567
  while ( i-- ) {
2568
+ if ( ( elem = matcherOut[ i ] ) ) {
2569
+
2570
  // Restore matcherIn since elem is not yet a final match
2571
+ temp.push( ( matcherIn[ i ] = elem ) );
2572
  }
2573
  }
2574
+ postFinder( null, ( matcherOut = [] ), temp, xml );
2575
  }
2576
 
2577
  // Move matched elements from seed to results to keep them synchronized
2578
  i = matcherOut.length;
2579
  while ( i-- ) {
2580
+ if ( ( elem = matcherOut[ i ] ) &&
2581
+ ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
2582
 
2583
+ seed[ temp ] = !( results[ temp ] = elem );
2584
  }
2585
  }
2586
  }
2598
  push.apply( results, matcherOut );
2599
  }
2600
  }
2601
+ } );
2602
  }
2603
 
2604
  function matcherFromTokens( tokens ) {
2605
  var checkContext, matcher, j,
2606
  len = tokens.length,
2607
+ leadingRelative = Expr.relative[ tokens[ 0 ].type ],
2608
+ implicitRelative = leadingRelative || Expr.relative[ " " ],
2609
  i = leadingRelative ? 1 : 0,
2610
 
2611
  // The foundational matcher ensures that elements are reachable from top-level context(s)
2617
  }, implicitRelative, true ),
2618
  matchers = [ function( elem, context, xml ) {
2619
  var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2620
+ ( checkContext = context ).nodeType ?
2621
  matchContext( elem, context, xml ) :
2622
  matchAnyContext( elem, context, xml ) );
2623
+
2624
  // Avoid hanging onto element (issue #299)
2625
  checkContext = null;
2626
  return ret;
2627
  } ];
2628
 
2629
  for ( ; i < len; i++ ) {
2630
+ if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
2631
+ matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
2632
  } else {
2633
+ matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
2634
 
2635
  // Return special upon seeing a positional matcher
2636
  if ( matcher[ expando ] ) {
2637
+
2638
  // Find the next relative operator (if any) for proper handling
2639
  j = ++i;
2640
  for ( ; j < len; j++ ) {
2641
+ if ( Expr.relative[ tokens[ j ].type ] ) {
2642
  break;
2643
  }
2644
  }
2645
  return setMatcher(
2646
  i > 1 && elementMatcher( matchers ),
2647
  i > 1 && toSelector(
2648
+
2649
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
2650
+ tokens
2651
+ .slice( 0, i - 1 )
2652
+ .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
2653
  ).replace( rtrim, "$1" ),
2654
  matcher,
2655
  i < j && matcherFromTokens( tokens.slice( i, j ) ),
2656
+ j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
2657
  j < len && toSelector( tokens )
2658
  );
2659
  }
2674
  unmatched = seed && [],
2675
  setMatched = [],
2676
  contextBackup = outermostContext,
2677
+
2678
  // We must always have either seed elements or outermost context
2679
+ elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
2680
+
2681
  // Use integer dirruns iff this is the outermost matcher
2682
+ dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
2683
  len = elems.length;
2684
 
2685
  if ( outermost ) {
2686
+
2687
+ // Support: IE 11+, Edge 17 - 18+
2688
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2689
+ // two documents; shallow comparisons work.
2690
+ // eslint-disable-next-line eqeqeq
2691
+ outermostContext = context == document || context || outermost;
2692
  }
2693
 
2694
  // Add elements passing elementMatchers directly to results
2695
  // Support: IE<9, Safari
2696
  // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
2697
+ for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
2698
  if ( byElement && elem ) {
2699
  j = 0;
2700
+
2701
+ // Support: IE 11+, Edge 17 - 18+
2702
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2703
+ // two documents; shallow comparisons work.
2704
+ // eslint-disable-next-line eqeqeq
2705
+ if ( !context && elem.ownerDocument != document ) {
2706
  setDocument( elem );
2707
  xml = !documentIsHTML;
2708
  }
2709
+ while ( ( matcher = elementMatchers[ j++ ] ) ) {
2710
+ if ( matcher( elem, context || document, xml ) ) {
2711
  results.push( elem );
2712
  break;
2713
  }
2719
 
2720
  // Track unmatched elements for set filters
2721
  if ( bySet ) {
2722
+
2723
  // They will have gone through all possible matchers
2724
+ if ( ( elem = !matcher && elem ) ) {
2725
  matchedCount--;
2726
  }
2727
 
2745
  // numerically zero.
2746
  if ( bySet && i !== matchedCount ) {
2747
  j = 0;
2748
+ while ( ( matcher = setMatchers[ j++ ] ) ) {
2749
  matcher( unmatched, setMatched, context, xml );
2750
  }
2751
 
2752
  if ( seed ) {
2753
+
2754
  // Reintegrate element matches to eliminate the need for sorting
2755
  if ( matchedCount > 0 ) {
2756
  while ( i-- ) {
2757
+ if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
2758
+ setMatched[ i ] = pop.call( results );
2759
  }
2760
  }
2761
  }
2796
  cached = compilerCache[ selector + " " ];
2797
 
2798
  if ( !cached ) {
2799
+
2800
  // Generate a function of recursive functions that can be used to check each element
2801
  if ( !match ) {
2802
  match = tokenize( selector );
2803
  }
2804
  i = match.length;
2805
  while ( i-- ) {
2806
+ cached = matcherFromTokens( match[ i ] );
2807
  if ( cached[ expando ] ) {
2808
  setMatchers.push( cached );
2809
  } else {
2812
  }
2813
 
2814
  // Cache the compiled function
2815
+ cached = compilerCache(
2816
+ selector,
2817
+ matcherFromGroupMatchers( elementMatchers, setMatchers )
2818
+ );
2819
 
2820
  // Save selector and tokenization
2821
  cached.selector = selector;
2835
  select = Sizzle.select = function( selector, context, results, seed ) {
2836
  var i, tokens, token, type, find,
2837
  compiled = typeof selector === "function" && selector,
2838
+ match = !seed && tokenize( ( selector = compiled.selector || selector ) );
2839
 
2840
  results = results || [];
2841
 
2844
  if ( match.length === 1 ) {
2845
 
2846
  // Reduce context if the leading compound selector is an ID
2847
+ tokens = match[ 0 ] = match[ 0 ].slice( 0 );
2848
+ if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
2849
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
2850
 
2851
+ context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
2852
+ .replace( runescape, funescape ), context ) || [] )[ 0 ];
2853
  if ( !context ) {
2854
  return results;
2855
 
2862
  }
2863
 
2864
  // Fetch a seed set for right-to-left matching
2865
+ i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
2866
  while ( i-- ) {
2867
+ token = tokens[ i ];
2868
 
2869
  // Abort if we hit a combinator
2870
+ if ( Expr.relative[ ( type = token.type ) ] ) {
2871
  break;
2872
  }
2873
+ if ( ( find = Expr.find[ type ] ) ) {
2874
+
2875
  // Search, expanding context for leading sibling combinators
2876
+ if ( ( seed = find(
2877
+ token.matches[ 0 ].replace( runescape, funescape ),
2878
+ rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
2879
+ context
2880
+ ) ) ) {
2881
 
2882
  // If seed is empty or no tokens remain, we can return early
2883
  tokens.splice( i, 1 );
2908
  // One-time assignments
2909
 
2910
  // Sort stability
2911
+ support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
2912
 
2913
  // Support: Chrome 14-35+
2914
  // Always assume duplicates if they aren't passed to the comparison function
2919
 
2920
  // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2921
  // Detached nodes confoundingly follow *each other*
2922
+ support.sortDetached = assert( function( el ) {
2923
+
2924
  // Should return 1, but returns 4 (following)
2925
+ return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
2926
+ } );
2927
 
2928
  // Support: IE<8
2929
  // Prevent attribute/property "interpolation"
2930
  // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2931
+ if ( !assert( function( el ) {
2932
  el.innerHTML = "<a href='#'></a>";
2933
+ return el.firstChild.getAttribute( "href" ) === "#";
2934
+ } ) ) {
2935
  addHandle( "type|href|height|width", function( elem, name, isXML ) {
2936
  if ( !isXML ) {
2937
  return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2938
  }
2939
+ } );
2940
  }
2941
 
2942
  // Support: IE<9
2943
  // Use defaultValue in place of getAttribute("value")
2944
+ if ( !support.attributes || !assert( function( el ) {
2945
  el.innerHTML = "<input/>";
2946
  el.firstChild.setAttribute( "value", "" );
2947
  return el.firstChild.getAttribute( "value" ) === "";
2948
+ } ) ) {
2949
+ addHandle( "value", function( elem, _name, isXML ) {
2950
  if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2951
  return elem.defaultValue;
2952
  }
2953
+ } );
2954
  }
2955
 
2956
  // Support: IE<9
2957
  // Use getAttributeNode to fetch booleans when getAttribute lies
2958
+ if ( !assert( function( el ) {
2959
+ return el.getAttribute( "disabled" ) == null;
2960
+ } ) ) {
2961
  addHandle( booleans, function( elem, name, isXML ) {
2962
  var val;
2963
  if ( !isXML ) {
2964
  return elem[ name ] === true ? name.toLowerCase() :
2965
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
2966
  val.value :
2967
+ null;
2968
  }
2969
+ } );
2970
  }
2971
 
2972
  return Sizzle;
2973
 
2974
+ } )( window );
2975
 
2976
 
2977
 
3340
  parents: function( elem ) {
3341
  return dir( elem, "parentNode" );
3342
  },
3343
+ parentsUntil: function( elem, _i, until ) {
3344
  return dir( elem, "parentNode", until );
3345
  },
3346
  next: function( elem ) {
3355
  prevAll: function( elem ) {
3356
  return dir( elem, "previousSibling" );
3357
  },
3358
+ nextUntil: function( elem, _i, until ) {
3359
  return dir( elem, "nextSibling", until );
3360
  },
3361
+ prevUntil: function( elem, _i, until ) {
3362
  return dir( elem, "previousSibling", until );
3363
  },
3364
  siblings: function( elem ) {
3368
  return siblings( elem.firstChild );
3369
  },
3370
  contents: function( elem ) {
3371
+ if ( elem.contentDocument != null &&
3372
+
3373
+ // Support: IE 11+
3374
+ // <object> elements with no `data` attribute has an object
3375
+ // `contentDocument` with a `null` prototype.
3376
+ getProto( elem.contentDocument ) ) {
3377
+
3378
  return elem.contentDocument;
3379
  }
3380
 
3717
  var fns = arguments;
3718
 
3719
  return jQuery.Deferred( function( newDefer ) {
3720
+ jQuery.each( tuples, function( _i, tuple ) {
3721
 
3722
  // Map tuples (progress, done, fail) to arguments (done, fail, progress)
3723
  var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
4170
  // ...except when executing function values
4171
  } else {
4172
  bulk = fn;
4173
+ fn = function( elem, _key, value ) {
4174
  return bulk.call( jQuery( elem ), value );
4175
  };
4176
  }
4205
  rdashAlpha = /-([a-z])/g;
4206
 
4207
  // Used by camelCase as callback to replace()
4208
+ function fcamelCase( _all, letter ) {
4209
  return letter.toUpperCase();
4210
  }
4211
 
4244
 
4245
  // If not, create one
4246
  if ( !value ) {
4247
+ value = Object.create( null );
4248
 
4249
  // We can accept data for non-element nodes in modern browsers,
4250
  // but we should not, see #8335.
4733
  jQuery.css( elem, "display" ) === "none";
4734
  };
4735
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4736
 
4737
 
4738
  function adjustCSS( elem, prop, valueParts, tween ) {
4903
 
4904
 
4905
 
4906
+ ( function() {
4907
+ var fragment = document.createDocumentFragment(),
4908
+ div = fragment.appendChild( document.createElement( "div" ) ),
4909
+ input = document.createElement( "input" );
4910
+
4911
+ // Support: Android 4.0 - 4.3 only
4912
+ // Check state lost if the name is set (#11217)
4913
+ // Support: Windows Web Apps (WWA)
4914
+ // `name` and `type` must use .setAttribute for WWA (#14901)
4915
+ input.setAttribute( "type", "radio" );
4916
+ input.setAttribute( "checked", "checked" );
4917
+ input.setAttribute( "name", "t" );
4918
+
4919
+ div.appendChild( input );
4920
+
4921
+ // Support: Android <=4.1 only
4922
+ // Older WebKit doesn't clone checked state correctly in fragments
4923
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4924
+
4925
+ // Support: IE <=11 only
4926
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
4927
+ div.innerHTML = "<textarea>x</textarea>";
4928
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4929
 
4930
  // Support: IE <=9 only
4931
+ // IE <=9 replaces <option> tags with their contents when inserted outside of
4932
+ // the select element.
4933
+ div.innerHTML = "<option></option>";
4934
+ support.option = !!div.lastChild;
4935
+ } )();
4936
+
4937
+
4938
+ // We have to close these tags to support XHTML (#13200)
4939
+ var wrapMap = {
4940
 
4941
  // XHTML parsers do not magically insert elements in the
4942
  // same way that tag soup parsers do. So we cannot shorten
4949
  _default: [ 0, "", "" ]
4950
  };
4951
 
 
 
 
4952
  wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
4953
  wrapMap.th = wrapMap.td;
4954
 
4955
+ // Support: IE <=9 only
4956
+ if ( !support.option ) {
4957
+ wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
4958
+ }
4959
+
4960
 
4961
  function getAll( context, tag ) {
4962
 
5089
  }
5090
 
5091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5092
  var
5093
  rkeyEvent = /^key/,
5094
  rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
5197
  special, handlers, type, namespaces, origType,
5198
  elemData = dataPriv.get( elem );
5199
 
5200
+ // Only attach events to objects that accept data
5201
+ if ( !acceptData( elem ) ) {
5202
  return;
5203
  }
5204
 
5222
 
5223
  // Init the element's event structure and main handler, if this is the first
5224
  if ( !( events = elemData.events ) ) {
5225
+ events = elemData.events = Object.create( null );
5226
  }
5227
  if ( !( eventHandle = elemData.handle ) ) {
5228
  eventHandle = elemData.handle = function( e ) {
5380
 
5381
  dispatch: function( nativeEvent ) {
5382
 
 
 
 
5383
  var i, j, ret, matched, handleObj, handlerQueue,
5384
  args = new Array( arguments.length ),
5385
+
5386
+ // Make a writable jQuery.Event from the native event object
5387
+ event = jQuery.event.fix( nativeEvent ),
5388
+
5389
+ handlers = (
5390
+ dataPriv.get( this, "events" ) || Object.create( null )
5391
+ )[ event.type ] || [],
5392
  special = jQuery.event.special[ event.type ] || {};
5393
 
5394
  // Use the fix-ed jQuery.Event rather than the (read-only) native event
5963
 
5964
  var
5965
 
 
 
 
 
 
 
 
5966
  // Support: IE <=10 - 11, Edge 12 - 13 only
5967
  // In IE/Edge using regex groups here causes severe slowdowns.
5968
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
5999
  }
6000
 
6001
  function cloneCopyEvent( src, dest ) {
6002
+ var i, l, type, pdataOld, udataOld, udataCur, events;
6003
 
6004
  if ( dest.nodeType !== 1 ) {
6005
  return;
6007
 
6008
  // 1. Copy private data: events, handlers, etc.
6009
  if ( dataPriv.hasData( src ) ) {
6010
+ pdataOld = dataPriv.get( src );
 
6011
  events = pdataOld.events;
6012
 
6013
  if ( events ) {
6014
+ dataPriv.remove( dest, "handle events" );
 
6015
 
6016
  for ( type in events ) {
6017
  for ( i = 0, l = events[ type ].length; i < l; i++ ) {
6047
  function domManip( collection, args, callback, ignored ) {
6048
 
6049
  // Flatten any nested arrays
6050
+ args = flat( args );
6051
 
6052
  var fragment, first, scripts, hasScripts, node, doc,
6053
  i = 0,
6122
  if ( jQuery._evalUrl && !node.noModule ) {
6123
  jQuery._evalUrl( node.src, {
6124
  nonce: node.nonce || node.getAttribute( "nonce" )
6125
+ }, doc );
6126
  }
6127
  } else {
6128
  DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
6159
 
6160
  jQuery.extend( {
6161
  htmlPrefilter: function( html ) {
6162
+ return html;
6163
  },
6164
 
6165
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
6421
  return view.getComputedStyle( elem );
6422
  };
6423
 
6424
+ var swap = function( elem, options, callback ) {
6425
+ var ret, name,
6426
+ old = {};
6427
+
6428
+ // Remember the old values, and insert the new ones
6429
+ for ( name in options ) {
6430
+ old[ name ] = elem.style[ name ];
6431
+ elem.style[ name ] = options[ name ];
6432
+ }
6433
+
6434
+ ret = callback.call( elem );
6435
+
6436
+ // Revert the old values
6437
+ for ( name in options ) {
6438
+ elem.style[ name ] = old[ name ];
6439
+ }
6440
+
6441
+ return ret;
6442
+ };
6443
+
6444
+
6445
  var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6446
 
6447
 
6499
  }
6500
 
6501
  var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6502
+ reliableTrDimensionsVal, reliableMarginLeftVal,
6503
  container = document.createElement( "div" ),
6504
  div = document.createElement( "div" );
6505
 
6534
  scrollboxSize: function() {
6535
  computeStyleTests();
6536
  return scrollboxSizeVal;
6537
+ },
6538
+
6539
+ // Support: IE 9 - 11+, Edge 15 - 18+
6540
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
6541
+ // set in CSS while `offset*` properties report correct values.
6542
+ // Behavior in IE 9 is more subtle than in newer versions & it passes
6543
+ // some versions of this test; make sure not to make it pass there!
6544
+ reliableTrDimensions: function() {
6545
+ var table, tr, trChild, trStyle;
6546
+ if ( reliableTrDimensionsVal == null ) {
6547
+ table = document.createElement( "table" );
6548
+ tr = document.createElement( "tr" );
6549
+ trChild = document.createElement( "div" );
6550
+
6551
+ table.style.cssText = "position:absolute;left:-11111px";
6552
+ tr.style.height = "1px";
6553
+ trChild.style.height = "9px";
6554
+
6555
+ documentElement
6556
+ .appendChild( table )
6557
+ .appendChild( tr )
6558
+ .appendChild( trChild );
6559
+
6560
+ trStyle = window.getComputedStyle( tr );
6561
+ reliableTrDimensionsVal = parseInt( trStyle.height ) > 3;
6562
+
6563
+ documentElement.removeChild( table );
6564
+ }
6565
+ return reliableTrDimensionsVal;
6566
  }
6567
  } );
6568
  } )();
6687
  fontWeight: "400"
6688
  };
6689
 
6690
+ function setPositiveNumber( _elem, value, subtract ) {
6691
 
6692
  // Any relative (+/-) values have already been
6693
  // normalized at this point
6792
  }
6793
 
6794
 
6795
+ // Support: IE 9 - 11 only
6796
+ // Use offsetWidth/offsetHeight for when box sizing is unreliable.
6797
+ // In those cases, the computed value can be trusted to be border-box.
 
 
 
 
 
6798
  if ( ( !support.boxSizingReliable() && isBorderBox ||
6799
+
6800
+ // Support: IE 10 - 11+, Edge 15 - 18+
6801
+ // IE/Edge misreport `getComputedStyle` of table rows with width/height
6802
+ // set in CSS while `offset*` properties report correct values.
6803
+ // Interestingly, in some cases IE 9 doesn't suffer from this issue.
6804
+ !support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
6805
+
6806
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
6807
+ // This happens for inline elements with no explicit setting (gh-3571)
6808
  val === "auto" ||
6809
+
6810
+ // Support: Android <=4.1 - 4.3 only
6811
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6812
  !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
6813
+
6814
+ // Make sure the element is visible & connected
6815
  elem.getClientRects().length ) {
6816
 
6817
  isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
7006
  }
7007
  } );
7008
 
7009
+ jQuery.each( [ "height", "width" ], function( _i, dimension ) {
7010
  jQuery.cssHooks[ dimension ] = {
7011
  get: function( elem, computed, extra ) {
7012
  if ( computed ) {
7290
  }
7291
  };
7292
 
7293
+ jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
7294
  var getter = attrHandle[ name ] || jQuery.find.attr;
7295
 
7296
  attrHandle[ name ] = function( elem, name, isXML ) {
7914
  special.bindType || type;
7915
 
7916
  // jQuery handler
7917
+ handle = (
7918
+ dataPriv.get( cur, "events" ) || Object.create( null )
7919
+ )[ event.type ] &&
7920
  dataPriv.get( cur, "handle" );
7921
  if ( handle ) {
7922
  handle.apply( cur, data );
8027
 
8028
  jQuery.event.special[ fix ] = {
8029
  setup: function() {
8030
+
8031
+ // Handle: regular nodes (via `this.ownerDocument`), window
8032
+ // (via `this.document`) & document (via `this`).
8033
+ var doc = this.ownerDocument || this.document || this,
8034
  attaches = dataPriv.access( doc, fix );
8035
 
8036
  if ( !attaches ) {
8039
  dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
8040
  },
8041
  teardown: function() {
8042
+ var doc = this.ownerDocument || this.document || this,
8043
  attaches = dataPriv.access( doc, fix ) - 1;
8044
 
8045
  if ( !attaches ) {
8055
  }
8056
 
8057
 
8058
+ // Cross-browser xml parsing
8059
+ jQuery.parseXML = function( data ) {
8060
+ var xml;
8061
+ if ( !data || typeof data !== "string" ) {
8062
+ return null;
8063
+ }
8064
+
8065
+ // Support: IE 9 - 11 only
8066
+ // IE throws on parseFromString with invalid input.
8067
+ try {
8068
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
8069
+ } catch ( e ) {
8070
+ xml = undefined;
8071
+ }
8072
+
8073
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
8074
+ jQuery.error( "Invalid XML: " + data );
8075
+ }
8076
+ return xml;
8077
+ };
8078
+
8079
+
8080
  var
8081
  rbracket = /\[\]$/,
8082
  rCRLF = /\r?\n/g,
8181
  rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
8182
  ( this.checked || !rcheckableType.test( type ) );
8183
  } )
8184
+ .map( function( _i, elem ) {
8185
  var val = jQuery( this ).val();
8186
 
8187
  if ( val == null ) {
8387
  options.using.call( elem, props );
8388
 
8389
  } else {
8390
+ if ( typeof props.top === "number" ) {
8391
+ props.top += "px";
8392
+ }
8393
+ if ( typeof props.left === "number" ) {
8394
+ props.left += "px";
8395
+ }
8396
  curElem.css( props );
8397
  }
8398
  }
8543
  // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
8544
  // getComputedStyle returns percent when specified for top/left/bottom/right;
8545
  // rather than make the css module depend on the offset module, just check for it here
8546
+ jQuery.each( [ "top", "left" ], function( _i, prop ) {
8547
  jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
8548
  function( elem, computed ) {
8549
  if ( computed ) {
8606
  } );
8607
 
8608
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8609
  jQuery.fn.extend( {
8610
 
8611
  bind: function( types, data, fn ) {
8624
  return arguments.length === 1 ?
8625
  this.off( selector, "**" ) :
8626
  this.off( types, selector || "**", fn );
8627
+ },
8628
+
8629
+ hover: function( fnOver, fnOut ) {
8630
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
8631
  }
8632
  } );
8633
 
8634
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
8635
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
8636
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
8637
+ function( _i, name ) {
8638
+
8639
+ // Handle event binding
8640
+ jQuery.fn[ name ] = function( data, fn ) {
8641
+ return arguments.length > 0 ?
8642
+ this.on( name, null, data, fn ) :
8643
+ this.trigger( name );
8644
+ };
8645
+ } );
8646
+
8647
+
8648
+
8649
+
8650
+ // Support: Android <=4.0 only
8651
+ // Make sure we trim BOM and NBSP
8652
+ var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
8653
+
8654
  // Bind a function to a context, optionally partially applying any
8655
  // arguments.
8656
  // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
8713
  !isNaN( obj - parseFloat( obj ) );
8714
  };
8715
 
8716
+ jQuery.trim = function( text ) {
8717
+ return text == null ?
8718
+ "" :
8719
+ ( text + "" ).replace( rtrim, "" );
8720
+ };
8721
 
8722
 
8723
 
8766
  // Expose jQuery and $ identifiers, even in AMD
8767
  // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
8768
  // and CommonJS for browser emulators (#13566)
8769
+ if ( typeof noGlobal === "undefined" ) {
8770
  window.jQuery = window.$ = jQuery;
8771
  }
8772
 
js/jquery-3.5.0.slim.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! jQuery v3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
2
+ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+A+"'></a><select id='"+A+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[N,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[N,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[A]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[A]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[N,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[A]||(e[A]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===N&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[A]&&(v=Te(v)),y&&!y[A]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[A]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=S[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[A]?i.push(a):o.push(a);(a=S(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=N+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(N=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(N=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=A.split("").sort(D).join("")===A,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=p,E.expr=p.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=p.uniqueSort,E.text=p.getText,E.isXMLDoc=p.isXML,E.contains=p.contains,E.escapeSelector=p.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&N.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(O[r]||E.uniqueSort(n),q.test(r)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function I(e){return e}function R(e){throw e}function B(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(H)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){b(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=b(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&b(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,b(t)?s?t.call(e,l(u,o,I,s),l(u,o,R,s)):(u++,t.call(e,l(u,o,I,s),l(u,o,R,s),l(u,o,I,o.notifyWith))):(a!==I&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==R&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,b(r)?r:I,e.notifyWith)),o[1][3].add(l(0,e,b(t)?t:I)),o[2][3].add(l(0,e,b(n)?n:R))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(B(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||b(i[t]&&i[t].then)))return o.then();while(t--)B(i[t],a(t),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&M.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var W=E.Deferred();function F(){w.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return W.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||W.resolveWith(w,[E])}}),E.ready.then=W.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?g.setTimeout(E.ready):(w.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,_=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(_,U)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=E.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t=Object.create(null),X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(H)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new Q,G=new Q,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}G.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return G.hasData(e)||Y.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=G.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){G.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=w.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};var se={};function ue(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=se[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),se[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var le,ce,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",m.option=!!le.lastChild;var he={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td,m.option||(he.optgroup=he.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(ye.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}var be=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Ee(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ne(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,Ce)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.get(t);if(X(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(H)||[""]).length;while(l--)p=g=(s=we.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(H)||[""]).length;while(l--)if(p=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:b(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click",Ce),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&Y.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&xe.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Ne(this,e,Ee),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var Se=/<script|<style|<link/i,ke=/checked\s*(?:[^=]|=\s*.checked.)/i,De=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);G.hasData(e)&&(o=G.access(e),a=E.extend({},o),G.set(t,a))}}function Pe(n,r,i,o){r=v(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=b(p);if(h||1<f&&"string"==typeof p&&!m.checkClone&&ke.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=me(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),je)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):C(u.textContent.replace(De,""),u,l))}return n}function He(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&ie(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),E.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return $(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Ie=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Me=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=E.style(e,t)),!m.pixelBoxStyles()&&Ie.test(a)&&Me.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=g.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=w.createElement("div"),l=w.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(m,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=w.createElement("table"),t=w.createElement("tr"),n=w.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=g.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var $e=["Webkit","Moz","ms"],ze=w.createElement("div").style,_e={};function Ue(e){var t=E.cssProps[e]||_e[e];return t||(e in ze?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=$e.length;while(n--)if((e=$e[n]+t)in ze)return e}(e)||e)}var Ve,Xe,Qe=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=Re(e),i=(!m.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&S(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Ye.test(t),l=e.style;if(u||(t=Ue(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Ye.test(t)||(t=Ue(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Qe.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,u,n):Be(e,Ge,function(){return et(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!m.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ze(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ze(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=Fe(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Ve=w.createElement("input"),Xe=w.createElement("select").appendChild(w.createElement("option")),Ve.type="checkbox",m.checkOn=""!==Ve.value,m.optSelected=Xe.selected,(Ve=w.createElement("input")).value="t",Ve.type="radio",m.radioValue="t"===Ve.value;var tt,nt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return $(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=nt[t]||E.find.attr;nt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=nt[o],nt[o]=r,r=null!=a(e,t,n)?o:null,nt[o]=i),r}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;function ot(e){return(e.match(H)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function st(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return $(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).addClass(t.call(this,e,at(this)))});if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).removeClass(t.call(this,e,at(this)))});if(!arguments.length)return this.attr("class","");if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):b(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,at(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=st(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=at(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ot(at(n))+" ").indexOf(t))return!0;return!1}});var ut=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=b(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ut,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:ot(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in g;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||w],p=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||w,3!==n.nodeType&&8!==n.nodeType&&!lt.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||p,lt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||w)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&X(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!X(n)||u&&b(n[p])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,ct),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,ct),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}}),E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new g.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var ft,dt=/\[\]$/,pt=/\r?\n/g,ht=/^(?:submit|button|image|reset|file)$/i,gt=/^(?:input|select|textarea|keygen)/i;function vt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||dt.test(n)?i(n,t):vt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)vt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)vt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&gt.test(this.nodeName)&&!ht.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(pt,"\r\n")}}):{name:t.name,value:n.replace(pt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return b(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},m.createHTMLDocument=((ft=w.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),b(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=b,E.isWindow=x,E.camelCase=V,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(yt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var mt=g.jQuery,bt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=bt),e&&g.jQuery===E&&(g.jQuery=mt),E},"undefined"==typeof e&&(g.jQuery=g.$=E),E});
js/jquery-migrate-3.0.0.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! jQuery Migrate v3.0.0 | (c) jQuery Foundation and other contributors | jquery.org/license */
2
- "undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b){"use strict";function c(c){var d=b.console;e[c]||(e[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE: "+c),a.migrateTrace&&d.trace&&d.trace()))}function d(a,b,d,e){Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:function(){return c(e),d}})}a.migrateVersion="3.0.0",function(){var c=b.console&&b.console.log&&function(){b.console.log.apply(b.console,arguments)},d=/^[12]\./;c&&(a&&!d.test(a.fn.jquery)||c("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),a.migrateWarnings&&c("JQMIGRATE: Migrate plugin loaded multiple times"),c("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" with logging active")+", version "+a.migrateVersion))}();var e={};a.migrateWarnings=[],void 0===a.migrateTrace&&(a.migrateTrace=!0),a.migrateReset=function(){e={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&c("jQuery is not compatible with Quirks Mode");var f=a.fn.init,g=a.isNumeric,h=a.find,i=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,j=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;a.fn.init=function(a){var b=Array.prototype.slice.call(arguments);return"string"==typeof a&&"#"===a&&(c("jQuery( '#' ) is not a valid selector"),b[0]=[]),f.apply(this,b)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&i.test(a))try{document.querySelector(a)}catch(d){a=a.replace(j,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),c("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){c("Attribute selector with '#' was not fixed: "+b[0])}}return h.apply(this,b)};var k;for(k in h)Object.prototype.hasOwnProperty.call(h,k)&&(a.find[k]=h[k]);a.fn.size=function(){return c("jQuery.fn.size() is deprecated; use the .length property"),this.length},a.parseJSON=function(){return c("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},a.isNumeric=function(b){function d(b){var c=b&&b.toString();return!a.isArray(b)&&c-parseFloat(c)+1>=0}var e=g(b),f=d(b);return e!==f&&c("jQuery.isNumeric() should not be called on constructed objects"),f},d(a,"unique",a.uniqueSort,"jQuery.unique is deprecated, use jQuery.uniqueSort"),d(a.expr,"filters",a.expr.pseudos,"jQuery.expr.filters is now jQuery.expr.pseudos"),d(a.expr,":",a.expr.pseudos,'jQuery.expr[":"] is now jQuery.expr.pseudos');var l=a.ajax;a.ajax=function(){var a=l.apply(this,arguments);return a.promise&&(d(a,"success",a.done,"jQXHR.success is deprecated and removed"),d(a,"error",a.fail,"jQXHR.error is deprecated and removed"),d(a,"complete",a.always,"jQXHR.complete is deprecated and removed")),a};var m=a.fn.removeAttr,n=a.fn.toggleClass,o=/\S+/g;a.fn.removeAttr=function(b){var d=this;return a.each(b.match(o),function(b,e){a.expr.match.bool.test(e)&&(c("jQuery.fn.removeAttr no longer sets boolean properties: "+e),d.prop(e,!1))}),m.apply(this,arguments)},a.fn.toggleClass=function(b){return void 0!==b&&"boolean"!=typeof b?n.apply(this,arguments):(c("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var c=this.getAttribute&&this.getAttribute("class")||"";c&&a.data(this,"__className__",c),this.setAttribute&&this.setAttribute("class",c||b===!1?"":a.data(this,"__className__")||"")}))};var p=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return p=!0,a=d.apply(this,arguments),p=!1,a})}),a.swap=function(a,b,d,e){var f,g,h={};p||c("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=d.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f};var q=a.data;a.data=function(b,d,e){var f;return d&&d!==a.camelCase(d)&&(f=a.hasData(b)&&q.call(this,b),f&&d in f)?(c("jQuery.data() always sets/gets camelCased names: "+d),arguments.length>2&&(f[d]=e),f[d]):q.apply(this,arguments)};var r=a.Tween.prototype.run;a.Tween.prototype.run=function(b){a.easing[this.easing].length>1&&(c('easing function "jQuery.easing.'+this.easing.toString()+'" should use only first argument'),a.easing[this.easing]=a.easing[this.easing].bind(a.easing,b,this.options.duration*b,0,1,this.options.duration)),r.apply(this,arguments)};var s=a.fn.load,t=a.event.fix;a.event.props=[],a.event.fixHooks={},a.event.fix=function(b){var d,e=b.type,f=this.fixHooks[e],g=a.event.props;if(g.length)for(c("jQuery.event.props are deprecated and removed: "+g.join());g.length;)a.event.addProp(g.pop());if(f&&!f._migrated_&&(f._migrated_=!0,c("jQuery.event.fixHooks are deprecated and removed: "+e),(g=f.props)&&g.length))for(;g.length;)a.event.addProp(g.pop());return d=t.call(this,b),f&&f.filter?f.filter(d,b):d},a.each(["load","unload","error"],function(b,d){a.fn[d]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===d&&"string"==typeof a[0]?s.apply(this,a):(c("jQuery.fn."+d+"() is deprecated"),a.splice(0,0,d),arguments.length?this.on.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a(function(){a(document).triggerHandler("ready")}),a.event.special.ready={setup:function(){this===document&&c("'ready' event is deprecated")}},a.fn.extend({bind:function(a,b,d){return c("jQuery.fn.bind() is deprecated"),this.on(a,null,b,d)},unbind:function(a,b){return c("jQuery.fn.unbind() is deprecated"),this.off(a,null,b)},delegate:function(a,b,d,e){return c("jQuery.fn.delegate() is deprecated"),this.on(b,a,d,e)},undelegate:function(a,b,d){return c("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(a,"**"):this.off(b,a||"**",d)}});var u=a.fn.offset;a.fn.offset=function(){var b,d=this[0],e={top:0,left:0};return d&&d.nodeType?(b=(d.ownerDocument||document).documentElement,a.contains(b,d)?u.apply(this,arguments):(c("jQuery.fn.offset() requires an element connected to a document"),e)):(c("jQuery.fn.offset() requires a valid DOM element"),e)};var v=a.param;a.param=function(b,d){var e=a.ajaxSettings&&a.ajaxSettings.traditional;return void 0===d&&e&&(c("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),d=e),v.call(this,b,d)};var w=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return c("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)};var x=a.Deferred,y=[["resolve","done",a.Callbacks("once memory"),a.Callbacks("once memory"),"resolved"],["reject","fail",a.Callbacks("once memory"),a.Callbacks("once memory"),"rejected"],["notify","progress",a.Callbacks("memory"),a.Callbacks("memory")]];a.Deferred=function(b){var d=x(),e=d.promise();return d.pipe=e.pipe=function(){var b=arguments;return c("deferred.pipe() is deprecated"),a.Deferred(function(c){a.each(y,function(f,g){var h=a.isFunction(b[f])&&b[f];d[g[1]](function(){var b=h&&h.apply(this,arguments);b&&a.isFunction(b.promise)?b.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g[0]+"With"](this===e?c.promise():this,h?[b]:arguments)})}),b=null}).promise()},b&&b.call(d,d),d}}(jQuery,window);
 
 
js/jquery-migrate-3.1.0.js ADDED
@@ -0,0 +1,678 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Migrate - v3.1.0 - 2019-06-08
3
+ * Copyright OpenJS Foundation and other contributors
4
+ */
5
+ ;( function( factory ) {
6
+ if ( typeof define === "function" && define.amd ) {
7
+
8
+ // AMD. Register as an anonymous module.
9
+ define( [ "jquery" ], function ( jQuery ) {
10
+ return factory( jQuery, window );
11
+ } );
12
+ } else if ( typeof module === "object" && module.exports ) {
13
+
14
+ // Node/CommonJS
15
+ // eslint-disable-next-line no-undef
16
+ module.exports = factory( require( "jquery" ), window );
17
+ } else {
18
+
19
+ // Browser globals
20
+ factory( jQuery, window );
21
+ }
22
+ } )( function( jQuery, window ) {
23
+ "use strict";
24
+
25
+
26
+ jQuery.migrateVersion = "3.1.0";
27
+
28
+ /* exported jQueryVersionSince, compareVersions */
29
+
30
+ // Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2
31
+ function compareVersions( v1, v2 ) {
32
+ var rVersionParts = /^(\d+)\.(\d+)\.(\d+)/,
33
+ v1p = rVersionParts.exec( v1 ) || [ ],
34
+ v2p = rVersionParts.exec( v2 ) || [ ];
35
+
36
+ for ( var i = 1; i <= 3; i++ ) {
37
+ if ( +v1p[ i ] > +v2p[ i ] ) {
38
+ return 1;
39
+ }
40
+ if ( +v1p[ i ] < +v2p[ i ] ) {
41
+ return -1;
42
+ }
43
+ }
44
+ return 0;
45
+ }
46
+
47
+ function jQueryVersionSince( version ) {
48
+ return compareVersions( jQuery.fn.jquery, version ) >= 0;
49
+ }
50
+
51
+ /* exported migrateWarn, migrateWarnFunc, migrateWarnProp */
52
+
53
+ ( function() {
54
+
55
+ // Support: IE9 only
56
+ // IE9 only creates console object when dev tools are first opened
57
+ // IE9 console is a host object, callable but doesn't have .apply()
58
+ if ( !window.console || !window.console.log ) {
59
+ return;
60
+ }
61
+
62
+ // Need jQuery 3.0.0+ and no older Migrate loaded
63
+ if ( !jQuery || !jQueryVersionSince( "3.0.0" ) ) {
64
+ window.console.log( "JQMIGRATE: jQuery 3.0.0+ REQUIRED" );
65
+ }
66
+ if ( jQuery.migrateWarnings ) {
67
+ window.console.log( "JQMIGRATE: Migrate plugin loaded multiple times" );
68
+ }
69
+
70
+ // Show a message on the console so devs know we're active
71
+ window.console.log( "JQMIGRATE: Migrate is installed" +
72
+ ( jQuery.migrateMute ? "" : " with logging active" ) +
73
+ ", version " + jQuery.migrateVersion );
74
+
75
+ } )();
76
+
77
+ var warnedAbout = {};
78
+
79
+ // List of warnings already given; public read only
80
+ jQuery.migrateWarnings = [];
81
+
82
+ // Set to false to disable traces that appear with warnings
83
+ if ( jQuery.migrateTrace === undefined ) {
84
+ jQuery.migrateTrace = true;
85
+ }
86
+
87
+ // Forget any warnings we've already given; public
88
+ jQuery.migrateReset = function() {
89
+ warnedAbout = {};
90
+ jQuery.migrateWarnings.length = 0;
91
+ };
92
+
93
+ function migrateWarn( msg ) {
94
+ var console = window.console;
95
+ if ( !warnedAbout[ msg ] ) {
96
+ warnedAbout[ msg ] = true;
97
+ jQuery.migrateWarnings.push( msg );
98
+ if ( console && console.warn && !jQuery.migrateMute ) {
99
+ console.warn( "JQMIGRATE: " + msg );
100
+ if ( jQuery.migrateTrace && console.trace ) {
101
+ console.trace();
102
+ }
103
+ }
104
+ }
105
+ }
106
+
107
+ function migrateWarnProp( obj, prop, value, msg ) {
108
+ Object.defineProperty( obj, prop, {
109
+ configurable: true,
110
+ enumerable: true,
111
+ get: function() {
112
+ migrateWarn( msg );
113
+ return value;
114
+ },
115
+ set: function( newValue ) {
116
+ migrateWarn( msg );
117
+ value = newValue;
118
+ }
119
+ } );
120
+ }
121
+
122
+ function migrateWarnFunc( obj, prop, newFunc, msg ) {
123
+ obj[ prop ] = function() {
124
+ migrateWarn( msg );
125
+ return newFunc.apply( this, arguments );
126
+ };
127
+ }
128
+
129
+ if ( window.document.compatMode === "BackCompat" ) {
130
+
131
+ // JQuery has never supported or tested Quirks Mode
132
+ migrateWarn( "jQuery is not compatible with Quirks Mode" );
133
+ }
134
+
135
+
136
+ var oldInit = jQuery.fn.init,
137
+ oldIsNumeric = jQuery.isNumeric,
138
+ oldFind = jQuery.find,
139
+ rattrHashTest = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,
140
+ rattrHashGlob = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;
141
+
142
+ jQuery.fn.init = function( arg1 ) {
143
+ var args = Array.prototype.slice.call( arguments );
144
+
145
+ if ( typeof arg1 === "string" && arg1 === "#" ) {
146
+
147
+ // JQuery( "#" ) is a bogus ID selector, but it returned an empty set before jQuery 3.0
148
+ migrateWarn( "jQuery( '#' ) is not a valid selector" );
149
+ args[ 0 ] = [];
150
+ }
151
+
152
+ return oldInit.apply( this, args );
153
+ };
154
+ jQuery.fn.init.prototype = jQuery.fn;
155
+
156
+ jQuery.find = function( selector ) {
157
+ var args = Array.prototype.slice.call( arguments );
158
+
159
+ // Support: PhantomJS 1.x
160
+ // String#match fails to match when used with a //g RegExp, only on some strings
161
+ if ( typeof selector === "string" && rattrHashTest.test( selector ) ) {
162
+
163
+ // The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0
164
+ // First see if qS thinks it's a valid selector, if so avoid a false positive
165
+ try {
166
+ window.document.querySelector( selector );
167
+ } catch ( err1 ) {
168
+
169
+ // Didn't *look* valid to qSA, warn and try quoting what we think is the value
170
+ selector = selector.replace( rattrHashGlob, function( _, attr, op, value ) {
171
+ return "[" + attr + op + "\"" + value + "\"]";
172
+ } );
173
+
174
+ // If the regexp *may* have created an invalid selector, don't update it
175
+ // Note that there may be false alarms if selector uses jQuery extensions
176
+ try {
177
+ window.document.querySelector( selector );
178
+ migrateWarn( "Attribute selector with '#' must be quoted: " + args[ 0 ] );
179
+ args[ 0 ] = selector;
180
+ } catch ( err2 ) {
181
+ migrateWarn( "Attribute selector with '#' was not fixed: " + args[ 0 ] );
182
+ }
183
+ }
184
+ }
185
+
186
+ return oldFind.apply( this, args );
187
+ };
188
+
189
+ // Copy properties attached to original jQuery.find method (e.g. .attr, .isXML)
190
+ var findProp;
191
+ for ( findProp in oldFind ) {
192
+ if ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) {
193
+ jQuery.find[ findProp ] = oldFind[ findProp ];
194
+ }
195
+ }
196
+
197
+ // The number of elements contained in the matched element set
198
+ jQuery.fn.size = function() {
199
+ migrateWarn( "jQuery.fn.size() is deprecated and removed; use the .length property" );
200
+ return this.length;
201
+ };
202
+
203
+ jQuery.parseJSON = function() {
204
+ migrateWarn( "jQuery.parseJSON is deprecated; use JSON.parse" );
205
+ return JSON.parse.apply( null, arguments );
206
+ };
207
+
208
+ jQuery.isNumeric = function( val ) {
209
+
210
+ // The jQuery 2.2.3 implementation of isNumeric
211
+ function isNumeric2( obj ) {
212
+ var realStringObj = obj && obj.toString();
213
+ return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
214
+ }
215
+
216
+ var newValue = oldIsNumeric( val ),
217
+ oldValue = isNumeric2( val );
218
+
219
+ if ( newValue !== oldValue ) {
220
+ migrateWarn( "jQuery.isNumeric() should not be called on constructed objects" );
221
+ }
222
+
223
+ return oldValue;
224
+ };
225
+
226
+ if ( jQueryVersionSince( "3.3.0" ) ) {
227
+ migrateWarnFunc( jQuery, "isWindow",
228
+ function( obj ) {
229
+ return obj != null && obj === obj.window;
230
+ },
231
+ "jQuery.isWindow() is deprecated"
232
+ );
233
+ }
234
+
235
+ migrateWarnFunc( jQuery, "holdReady", jQuery.holdReady,
236
+ "jQuery.holdReady is deprecated" );
237
+
238
+ migrateWarnFunc( jQuery, "unique", jQuery.uniqueSort,
239
+ "jQuery.unique is deprecated; use jQuery.uniqueSort" );
240
+
241
+ // Now jQuery.expr.pseudos is the standard incantation
242
+ migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos,
243
+ "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos" );
244
+ migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos,
245
+ "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos" );
246
+
247
+ // Prior to jQuery 3.2 there were internal refs so we don't warn there
248
+ if ( jQueryVersionSince( "3.2.0" ) ) {
249
+ migrateWarnFunc( jQuery, "nodeName", jQuery.nodeName,
250
+ "jQuery.nodeName is deprecated" );
251
+ }
252
+
253
+
254
+ var oldAjax = jQuery.ajax;
255
+
256
+ jQuery.ajax = function( ) {
257
+ var jQXHR = oldAjax.apply( this, arguments );
258
+
259
+ // Be sure we got a jQXHR (e.g., not sync)
260
+ if ( jQXHR.promise ) {
261
+ migrateWarnFunc( jQXHR, "success", jQXHR.done,
262
+ "jQXHR.success is deprecated and removed" );
263
+ migrateWarnFunc( jQXHR, "error", jQXHR.fail,
264
+ "jQXHR.error is deprecated and removed" );
265
+ migrateWarnFunc( jQXHR, "complete", jQXHR.always,
266
+ "jQXHR.complete is deprecated and removed" );
267
+ }
268
+
269
+ return jQXHR;
270
+ };
271
+
272
+
273
+ var oldRemoveAttr = jQuery.fn.removeAttr,
274
+ oldToggleClass = jQuery.fn.toggleClass,
275
+ rmatchNonSpace = /\S+/g;
276
+
277
+ jQuery.fn.removeAttr = function( name ) {
278
+ var self = this;
279
+
280
+ jQuery.each( name.match( rmatchNonSpace ), function( _i, attr ) {
281
+ if ( jQuery.expr.match.bool.test( attr ) ) {
282
+ migrateWarn( "jQuery.fn.removeAttr no longer sets boolean properties: " + attr );
283
+ self.prop( attr, false );
284
+ }
285
+ } );
286
+
287
+ return oldRemoveAttr.apply( this, arguments );
288
+ };
289
+
290
+ jQuery.fn.toggleClass = function( state ) {
291
+
292
+ // Only deprecating no-args or single boolean arg
293
+ if ( state !== undefined && typeof state !== "boolean" ) {
294
+ return oldToggleClass.apply( this, arguments );
295
+ }
296
+
297
+ migrateWarn( "jQuery.fn.toggleClass( boolean ) is deprecated" );
298
+
299
+ // Toggle entire class name of each element
300
+ return this.each( function() {
301
+ var className = this.getAttribute && this.getAttribute( "class" ) || "";
302
+
303
+ if ( className ) {
304
+ jQuery.data( this, "__className__", className );
305
+ }
306
+
307
+ // If the element has a class name or if we're passed `false`,
308
+ // then remove the whole classname (if there was one, the above saved it).
309
+ // Otherwise bring back whatever was previously saved (if anything),
310
+ // falling back to the empty string if nothing was stored.
311
+ if ( this.setAttribute ) {
312
+ this.setAttribute( "class",
313
+ className || state === false ?
314
+ "" :
315
+ jQuery.data( this, "__className__" ) || ""
316
+ );
317
+ }
318
+ } );
319
+ };
320
+
321
+
322
+ var internalSwapCall = false;
323
+
324
+ // If this version of jQuery has .swap(), don't false-alarm on internal uses
325
+ if ( jQuery.swap ) {
326
+ jQuery.each( [ "height", "width", "reliableMarginRight" ], function( _, name ) {
327
+ var oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name ].get;
328
+
329
+ if ( oldHook ) {
330
+ jQuery.cssHooks[ name ].get = function() {
331
+ var ret;
332
+
333
+ internalSwapCall = true;
334
+ ret = oldHook.apply( this, arguments );
335
+ internalSwapCall = false;
336
+ return ret;
337
+ };
338
+ }
339
+ } );
340
+ }
341
+
342
+ jQuery.swap = function( elem, options, callback, args ) {
343
+ var ret, name,
344
+ old = {};
345
+
346
+ if ( !internalSwapCall ) {
347
+ migrateWarn( "jQuery.swap() is undocumented and deprecated" );
348
+ }
349
+
350
+ // Remember the old values, and insert the new ones
351
+ for ( name in options ) {
352
+ old[ name ] = elem.style[ name ];
353
+ elem.style[ name ] = options[ name ];
354
+ }
355
+
356
+ ret = callback.apply( elem, args || [] );
357
+
358
+ // Revert the old values
359
+ for ( name in options ) {
360
+ elem.style[ name ] = old[ name ];
361
+ }
362
+
363
+ return ret;
364
+ };
365
+
366
+ var oldData = jQuery.data;
367
+
368
+ jQuery.data = function( elem, name, value ) {
369
+ var curData;
370
+
371
+ // Name can be an object, and each entry in the object is meant to be set as data
372
+ if ( name && typeof name === "object" && arguments.length === 2 ) {
373
+ curData = jQuery.hasData( elem ) && oldData.call( this, elem );
374
+ var sameKeys = {};
375
+ for ( var key in name ) {
376
+ if ( key !== jQuery.camelCase( key ) ) {
377
+ migrateWarn( "jQuery.data() always sets/gets camelCased names: " + key );
378
+ curData[ key ] = name[ key ];
379
+ } else {
380
+ sameKeys[ key ] = name[ key ];
381
+ }
382
+ }
383
+
384
+ oldData.call( this, elem, sameKeys );
385
+
386
+ return name;
387
+ }
388
+
389
+ // If the name is transformed, look for the un-transformed name in the data object
390
+ if ( name && typeof name === "string" && name !== jQuery.camelCase( name ) ) {
391
+ curData = jQuery.hasData( elem ) && oldData.call( this, elem );
392
+ if ( curData && name in curData ) {
393
+ migrateWarn( "jQuery.data() always sets/gets camelCased names: " + name );
394
+ if ( arguments.length > 2 ) {
395
+ curData[ name ] = value;
396
+ }
397
+ return curData[ name ];
398
+ }
399
+ }
400
+
401
+ return oldData.apply( this, arguments );
402
+ };
403
+
404
+ var oldTweenRun = jQuery.Tween.prototype.run;
405
+ var linearEasing = function( pct ) {
406
+ return pct;
407
+ };
408
+
409
+ jQuery.Tween.prototype.run = function( ) {
410
+ if ( jQuery.easing[ this.easing ].length > 1 ) {
411
+ migrateWarn(
412
+ "'jQuery.easing." + this.easing.toString() + "' should use only one argument"
413
+ );
414
+
415
+ jQuery.easing[ this.easing ] = linearEasing;
416
+ }
417
+
418
+ oldTweenRun.apply( this, arguments );
419
+ };
420
+
421
+ var intervalValue = jQuery.fx.interval || 13,
422
+ intervalMsg = "jQuery.fx.interval is deprecated";
423
+
424
+ // Support: IE9, Android <=4.4
425
+ // Avoid false positives on browsers that lack rAF
426
+ // Don't warn if document is hidden, jQuery uses setTimeout (#292)
427
+ if ( window.requestAnimationFrame ) {
428
+ Object.defineProperty( jQuery.fx, "interval", {
429
+ configurable: true,
430
+ enumerable: true,
431
+ get: function() {
432
+ if ( !window.document.hidden ) {
433
+ migrateWarn( intervalMsg );
434
+ }
435
+ return intervalValue;
436
+ },
437
+ set: function( newValue ) {
438
+ migrateWarn( intervalMsg );
439
+ intervalValue = newValue;
440
+ }
441
+ } );
442
+ }
443
+
444
+ var oldLoad = jQuery.fn.load,
445
+ oldEventAdd = jQuery.event.add,
446
+ originalFix = jQuery.event.fix;
447
+
448
+ jQuery.event.props = [];
449
+ jQuery.event.fixHooks = {};
450
+
451
+ migrateWarnProp( jQuery.event.props, "concat", jQuery.event.props.concat,
452
+ "jQuery.event.props.concat() is deprecated and removed" );
453
+
454
+ jQuery.event.fix = function( originalEvent ) {
455
+ var event,
456
+ type = originalEvent.type,
457
+ fixHook = this.fixHooks[ type ],
458
+ props = jQuery.event.props;
459
+
460
+ if ( props.length ) {
461
+ migrateWarn( "jQuery.event.props are deprecated and removed: " + props.join() );
462
+ while ( props.length ) {
463
+ jQuery.event.addProp( props.pop() );
464
+ }
465
+ }
466
+
467
+ if ( fixHook && !fixHook._migrated_ ) {
468
+ fixHook._migrated_ = true;
469
+ migrateWarn( "jQuery.event.fixHooks are deprecated and removed: " + type );
470
+ if ( ( props = fixHook.props ) && props.length ) {
471
+ while ( props.length ) {
472
+ jQuery.event.addProp( props.pop() );
473
+ }
474
+ }
475
+ }
476
+
477
+ event = originalFix.call( this, originalEvent );
478
+
479
+ return fixHook && fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
480
+ };
481
+
482
+ jQuery.event.add = function( elem, types ) {
483
+
484
+ // This misses the multiple-types case but that seems awfully rare
485
+ if ( elem === window && types === "load" && window.document.readyState === "complete" ) {
486
+ migrateWarn( "jQuery(window).on('load'...) called after load event occurred" );
487
+ }
488
+ return oldEventAdd.apply( this, arguments );
489
+ };
490
+
491
+ jQuery.each( [ "load", "unload", "error" ], function( _, name ) {
492
+
493
+ jQuery.fn[ name ] = function() {
494
+ var args = Array.prototype.slice.call( arguments, 0 );
495
+
496
+ // If this is an ajax load() the first arg should be the string URL;
497
+ // technically this could also be the "Anything" arg of the event .load()
498
+ // which just goes to show why this dumb signature has been deprecated!
499
+ // jQuery custom builds that exclude the Ajax module justifiably die here.
500
+ if ( name === "load" && typeof args[ 0 ] === "string" ) {
501
+ return oldLoad.apply( this, args );
502
+ }
503
+
504
+ migrateWarn( "jQuery.fn." + name + "() is deprecated" );
505
+
506
+ args.splice( 0, 0, name );
507
+ if ( arguments.length ) {
508
+ return this.on.apply( this, args );
509
+ }
510
+
511
+ // Use .triggerHandler here because:
512
+ // - load and unload events don't need to bubble, only applied to window or image
513
+ // - error event should not bubble to window, although it does pre-1.7
514
+ // See http://bugs.jquery.com/ticket/11820
515
+ this.triggerHandler.apply( this, args );
516
+ return this;
517
+ };
518
+
519
+ } );
520
+
521
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
522
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
523
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
524
+ function( _i, name ) {
525
+
526
+ // Handle event binding
527
+ jQuery.fn[ name ] = function( data, fn ) {
528
+ migrateWarn( "jQuery.fn." + name + "() event shorthand is deprecated" );
529
+ return arguments.length > 0 ?
530
+ this.on( name, null, data, fn ) :
531
+ this.trigger( name );
532
+ };
533
+ } );
534
+
535
+ // Trigger "ready" event only once, on document ready
536
+ jQuery( function() {
537
+ jQuery( window.document ).triggerHandler( "ready" );
538
+ } );
539
+
540
+ jQuery.event.special.ready = {
541
+ setup: function() {
542
+ if ( this === window.document ) {
543
+ migrateWarn( "'ready' event is deprecated" );
544
+ }
545
+ }
546
+ };
547
+
548
+ jQuery.fn.extend( {
549
+
550
+ bind: function( types, data, fn ) {
551
+ migrateWarn( "jQuery.fn.bind() is deprecated" );
552
+ return this.on( types, null, data, fn );
553
+ },
554
+ unbind: function( types, fn ) {
555
+ migrateWarn( "jQuery.fn.unbind() is deprecated" );
556
+ return this.off( types, null, fn );
557
+ },
558
+ delegate: function( selector, types, data, fn ) {
559
+ migrateWarn( "jQuery.fn.delegate() is deprecated" );
560
+ return this.on( types, selector, data, fn );
561
+ },
562
+ undelegate: function( selector, types, fn ) {
563
+ migrateWarn( "jQuery.fn.undelegate() is deprecated" );
564
+ return arguments.length === 1 ?
565
+ this.off( selector, "**" ) :
566
+ this.off( types, selector || "**", fn );
567
+ },
568
+ hover: function( fnOver, fnOut ) {
569
+ migrateWarn( "jQuery.fn.hover() is deprecated" );
570
+ return this.on( "mouseenter", fnOver ).on( "mouseleave", fnOut || fnOver );
571
+ }
572
+ } );
573
+
574
+
575
+ var oldOffset = jQuery.fn.offset;
576
+
577
+ jQuery.fn.offset = function() {
578
+ var docElem,
579
+ elem = this[ 0 ],
580
+ origin = { top: 0, left: 0 };
581
+
582
+ if ( !elem || !elem.nodeType ) {
583
+ migrateWarn( "jQuery.fn.offset() requires a valid DOM element" );
584
+ return origin;
585
+ }
586
+
587
+ docElem = ( elem.ownerDocument || window.document ).documentElement;
588
+ if ( !jQuery.contains( docElem, elem ) ) {
589
+ migrateWarn( "jQuery.fn.offset() requires an element connected to a document" );
590
+ return origin;
591
+ }
592
+
593
+ return oldOffset.apply( this, arguments );
594
+ };
595
+
596
+
597
+ var oldParam = jQuery.param;
598
+
599
+ jQuery.param = function( data, traditional ) {
600
+ var ajaxTraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
601
+
602
+ if ( traditional === undefined && ajaxTraditional ) {
603
+
604
+ migrateWarn( "jQuery.param() no longer uses jQuery.ajaxSettings.traditional" );
605
+ traditional = ajaxTraditional;
606
+ }
607
+
608
+ return oldParam.call( this, data, traditional );
609
+ };
610
+
611
+ var oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
612
+
613
+ jQuery.fn.andSelf = function() {
614
+ migrateWarn( "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()" );
615
+ return oldSelf.apply( this, arguments );
616
+ };
617
+
618
+
619
+ var oldDeferred = jQuery.Deferred,
620
+ tuples = [
621
+
622
+ // Action, add listener, callbacks, .then handlers, final state
623
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
624
+ jQuery.Callbacks( "once memory" ), "resolved" ],
625
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
626
+ jQuery.Callbacks( "once memory" ), "rejected" ],
627
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
628
+ jQuery.Callbacks( "memory" ) ]
629
+ ];
630
+
631
+ jQuery.Deferred = function( func ) {
632
+ var deferred = oldDeferred(),
633
+ promise = deferred.promise();
634
+
635
+ deferred.pipe = promise.pipe = function( /* fnDone, fnFail, fnProgress */ ) {
636
+ var fns = arguments;
637
+
638
+ migrateWarn( "deferred.pipe() is deprecated" );
639
+
640
+ return jQuery.Deferred( function( newDefer ) {
641
+ jQuery.each( tuples, function( i, tuple ) {
642
+ var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
643
+
644
+ // Deferred.done(function() { bind to newDefer or newDefer.resolve })
645
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
646
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
647
+ deferred[ tuple[ 1 ] ]( function() {
648
+ var returned = fn && fn.apply( this, arguments );
649
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
650
+ returned.promise()
651
+ .done( newDefer.resolve )
652
+ .fail( newDefer.reject )
653
+ .progress( newDefer.notify );
654
+ } else {
655
+ newDefer[ tuple[ 0 ] + "With" ](
656
+ this === promise ? newDefer.promise() : this,
657
+ fn ? [ returned ] : arguments
658
+ );
659
+ }
660
+ } );
661
+ } );
662
+ fns = null;
663
+ } ).promise();
664
+
665
+ };
666
+
667
+ if ( func ) {
668
+ func.call( deferred, deferred );
669
+ }
670
+
671
+ return deferred;
672
+ };
673
+
674
+ // Preserve handler of uncaught exceptions in promise chains
675
+ jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook;
676
+
677
+ return jQuery;
678
+ } );
js/jquery-migrate-3.1.0.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! jQuery Migrate v3.1.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
2
+ "undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],i=1;i<=3;i++){if(+n[i]>+o[i])return 1;if(+n[i]<+o[i])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.1.0",n.console&&n.console.log&&(s&&e("3.0.0")||n.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var r={};function u(e){var t=n.console;r[e]||(r[e]=!0,s.migrateWarnings.push(e),t&&t.warn&&!s.migrateMute&&(t.warn("JQMIGRATE: "+e),s.migrateTrace&&t.trace&&t.trace()))}function t(e,t,r,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n),r},set:function(e){u(n),r=e}})}function o(e,t,r,n){e[t]=function(){return u(n),r.apply(this,arguments)}}s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){r={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("jQuery is not compatible with Quirks Mode");var i,a=s.fn.init,c=s.isNumeric,d=s.find,l=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,p=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;for(i in s.fn.init=function(e){var t=Array.prototype.slice.call(arguments);return"string"==typeof e&&"#"===e&&(u("jQuery( '#' ) is not a valid selector"),t[0]=[]),a.apply(this,t)},s.fn.init.prototype=s.fn,s.find=function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&l.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(p,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("Attribute selector with '#' was not fixed: "+r[0])}}return d.apply(this,r)},d)Object.prototype.hasOwnProperty.call(d,i)&&(s.find[i]=d[i]);s.fn.size=function(){return u("jQuery.fn.size() is deprecated and removed; use the .length property"),this.length},s.parseJSON=function(){return u("jQuery.parseJSON is deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},s.isNumeric=function(e){var t,r,n=c(e),o=(r=(t=e)&&t.toString(),!s.isArray(t)&&0<=r-parseFloat(r)+1);return n!==o&&u("jQuery.isNumeric() should not be called on constructed objects"),o},e("3.3.0")&&o(s,"isWindow",function(e){return null!=e&&e===e.window},"jQuery.isWindow() is deprecated"),o(s,"holdReady",s.holdReady,"jQuery.holdReady is deprecated"),o(s,"unique",s.uniqueSort,"jQuery.unique is deprecated; use jQuery.uniqueSort"),t(s.expr,"filters",s.expr.pseudos,"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),t(s.expr,":",s.expr.pseudos,"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.2.0")&&o(s,"nodeName",s.nodeName,"jQuery.nodeName is deprecated");var f=s.ajax;s.ajax=function(){var e=f.apply(this,arguments);return e.promise&&(o(e,"success",e.done,"jQXHR.success is deprecated and removed"),o(e,"error",e.fail,"jQXHR.error is deprecated and removed"),o(e,"complete",e.always,"jQXHR.complete is deprecated and removed")),e};var y=s.fn.removeAttr,m=s.fn.toggleClass,h=/\S+/g;s.fn.removeAttr=function(e){var r=this;return s.each(e.match(h),function(e,t){s.expr.match.bool.test(t)&&(u("jQuery.fn.removeAttr no longer sets boolean properties: "+t),r.prop(t,!1))}),y.apply(this,arguments)};var g=!(s.fn.toggleClass=function(t){return void 0!==t&&"boolean"!=typeof t?m.apply(this,arguments):(u("jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var e=this.getAttribute&&this.getAttribute("class")||"";e&&s.data(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":s.data(this,"__className__")||"")}))});s.swap&&s.each(["height","width","reliableMarginRight"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return g=!0,e=r.apply(this,arguments),g=!1,e})}),s.swap=function(e,t,r,n){var o,i,a={};for(i in g||u("jQuery.swap() is undocumented and deprecated"),t)a[i]=e.style[i],e.style[i]=t[i];for(i in o=r.apply(e,n||[]),t)e.style[i]=a[i];return o};var v=s.data;s.data=function(e,t,r){var n;if(t&&"object"==typeof t&&2===arguments.length){n=s.hasData(e)&&v.call(this,e);var o={};for(var i in t)i!==s.camelCase(i)?(u("jQuery.data() always sets/gets camelCased names: "+i),n[i]=t[i]):o[i]=t[i];return v.call(this,e,o),t}return t&&"string"==typeof t&&t!==s.camelCase(t)&&(n=s.hasData(e)&&v.call(this,e))&&t in n?(u("jQuery.data() always sets/gets camelCased names: "+t),2<arguments.length&&(n[t]=r),n[t]):v.apply(this,arguments)};function j(e){return e}var Q=s.Tween.prototype.run;s.Tween.prototype.run=function(){1<s.easing[this.easing].length&&(u("'jQuery.easing."+this.easing.toString()+"' should use only one argument"),s.easing[this.easing]=j),Q.apply(this,arguments)};var w=s.fx.interval||13,b="jQuery.fx.interval is deprecated";n.requestAnimationFrame&&Object.defineProperty(s.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return n.document.hidden||u(b),w},set:function(e){u(b),w=e}});var x=s.fn.load,k=s.event.add,A=s.event.fix;s.event.props=[],s.event.fixHooks={},t(s.event.props,"concat",s.event.props.concat,"jQuery.event.props.concat() is deprecated and removed"),s.event.fix=function(e){var t,r=e.type,n=this.fixHooks[r],o=s.event.props;if(o.length){u("jQuery.event.props are deprecated and removed: "+o.join());while(o.length)s.event.addProp(o.pop())}if(n&&!n._migrated_&&(n._migrated_=!0,u("jQuery.event.fixHooks are deprecated and removed: "+r),(o=n.props)&&o.length))while(o.length)s.event.addProp(o.pop());return t=A.call(this,e),n&&n.filter?n.filter(t,e):t},s.event.add=function(e,t){return e===n&&"load"===t&&"complete"===n.document.readyState&&u("jQuery(window).on('load'...) called after load event occurred"),k.apply(this,arguments)},s.each(["load","unload","error"],function(e,t){s.fn[t]=function(){var e=Array.prototype.slice.call(arguments,0);return"load"===t&&"string"==typeof e[0]?x.apply(this,e):(u("jQuery.fn."+t+"() is deprecated"),e.splice(0,0,t),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))}}),s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,r){s.fn[r]=function(e,t){return u("jQuery.fn."+r+"() event shorthand is deprecated"),0<arguments.length?this.on(r,null,e,t):this.trigger(r)}}),s(function(){s(n.document).triggerHandler("ready")}),s.event.special.ready={setup:function(){this===n.document&&u("'ready' event is deprecated")}},s.fn.extend({bind:function(e,t,r){return u("jQuery.fn.bind() is deprecated"),this.on(e,null,t,r)},unbind:function(e,t){return u("jQuery.fn.unbind() is deprecated"),this.off(e,null,t)},delegate:function(e,t,r,n){return u("jQuery.fn.delegate() is deprecated"),this.on(t,e,r,n)},undelegate:function(e,t,r){return u("jQuery.fn.undelegate() is deprecated"),1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)},hover:function(e,t){return u("jQuery.fn.hover() is deprecated"),this.on("mouseenter",e).on("mouseleave",t||e)}});var S=s.fn.offset;s.fn.offset=function(){var e,t=this[0],r={top:0,left:0};return t&&t.nodeType?(e=(t.ownerDocument||n.document).documentElement,s.contains(e,t)?S.apply(this,arguments):(u("jQuery.fn.offset() requires an element connected to a document"),r)):(u("jQuery.fn.offset() requires a valid DOM element"),r)};var q=s.param;s.param=function(e,t){var r=s.ajaxSettings&&s.ajaxSettings.traditional;return void 0===t&&r&&(u("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),t=r),q.call(this,e,t)};var C=s.fn.andSelf||s.fn.addBack;s.fn.andSelf=function(){return u("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),C.apply(this,arguments)};var M=s.Deferred,R=[["resolve","done",s.Callbacks("once memory"),s.Callbacks("once memory"),"resolved"],["reject","fail",s.Callbacks("once memory"),s.Callbacks("once memory"),"rejected"],["notify","progress",s.Callbacks("memory"),s.Callbacks("memory")]];return s.Deferred=function(e){var i=M(),a=i.promise();return i.pipe=a.pipe=function(){var o=arguments;return u("deferred.pipe() is deprecated"),s.Deferred(function(n){s.each(R,function(e,t){var r=s.isFunction(o[e])&&o[e];i[t[1]](function(){var e=r&&r.apply(this,arguments);e&&s.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[t[0]+"With"](this===a?n.promise():this,r?[e]:arguments)})}),o=null}).promise()},e&&e.call(i,i),i},s.Deferred.exceptionHook=M.exceptionHook,s});
js/short.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ (function($) {
2
+
3
+ // $ Works! You can test it with next line if you like
4
+ // console.log($);
5
+
6
+ })( jQuery );
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: Ramoonus
3
  Donate link: http://www.ramoonus.nl/donate/
4
  Tags: jquery, update, jquery ui, javascript, jq
5
- Requires at least: 4.2
6
  Tested up to: 5.4
7
- Stable tag: 3.4.1.2
8
  Requires PHP: 5.6
9
 
10
  This plugin updates jQuery to the latest stable version on your website.
@@ -51,6 +51,12 @@ A: Using jQuery version 2 could break your site. See the warning on the homepage
51
  Please clear the server and browser cache after upgrading/disabling
52
 
53
  == Changelog ==
 
 
 
 
 
 
54
  = 3.4.1.3 =
55
  * registering scripts not queuing
56
 
2
  Contributors: Ramoonus
3
  Donate link: http://www.ramoonus.nl/donate/
4
  Tags: jquery, update, jquery ui, javascript, jq
5
+ Requires at least: 5.0
6
  Tested up to: 5.4
7
+ Stable tag: 3.5.0
8
  Requires PHP: 5.6
9
 
10
  This plugin updates jQuery to the latest stable version on your website.
51
  Please clear the server and browser cache after upgrading/disabling
52
 
53
  == Changelog ==
54
+ = 3.5.0 =
55
+ * Updated [jQuery to 3.5.0](http://blog.jquery.com/2020/04/10/jquery-3-5-0-released/)
56
+ * Updater [jQuery Migrate to 3.1.0](https://github.com/jquery/jquery-migrate/#readme)
57
+ * Added option page, without any options
58
+ * Added an activation message
59
+
60
  = 3.4.1.3 =
61
  * registering scripts not queuing
62