jquery-rails 4.5.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +7 -1
 - data/VERSIONS.md +1 -0
 - data/lib/jquery/rails/version.rb +2 -2
 - data/vendor/assets/javascripts/jquery3.js +840 -1045
 - data/vendor/assets/javascripts/jquery3.min.js +2 -2
 - data/vendor/assets/javascripts/jquery3.min.map +1 -1
 - metadata +3 -3
 
| 
         @@ -1,15 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /*!
         
     | 
| 
       2 
     | 
    
         
            -
             * jQuery JavaScript Library v3. 
     | 
| 
      
 2 
     | 
    
         
            +
             * jQuery JavaScript Library v3.7.0
         
     | 
| 
       3 
3 
     | 
    
         
             
             * https://jquery.com/
         
     | 
| 
       4 
4 
     | 
    
         
             
             *
         
     | 
| 
       5 
     | 
    
         
            -
             * Includes Sizzle.js
         
     | 
| 
       6 
     | 
    
         
            -
             * https://sizzlejs.com/
         
     | 
| 
       7 
     | 
    
         
            -
             *
         
     | 
| 
       8 
5 
     | 
    
         
             
             * Copyright OpenJS Foundation and other contributors
         
     | 
| 
       9 
6 
     | 
    
         
             
             * Released under the MIT license
         
     | 
| 
       10 
7 
     | 
    
         
             
             * https://jquery.org/license
         
     | 
| 
       11 
8 
     | 
    
         
             
             *
         
     | 
| 
       12 
     | 
    
         
            -
             * Date:  
     | 
| 
      
 9 
     | 
    
         
            +
             * Date: 2023-05-11T18:29Z
         
     | 
| 
       13 
10 
     | 
    
         
             
             */
         
     | 
| 
       14 
11 
     | 
    
         
             
            ( function( global, factory ) {
         
     | 
| 
       15 
12 
     | 
    
         | 
| 
         @@ -150,8 +147,9 @@ function toType( obj ) { 
     | 
|
| 
       150 
147 
     | 
    
         | 
| 
       151 
148 
     | 
    
         | 
| 
       152 
149 
     | 
    
         | 
| 
       153 
     | 
    
         
            -
            var
         
     | 
| 
       154 
     | 
    
         
            -
             
     | 
| 
      
 150 
     | 
    
         
            +
            var version = "3.7.0",
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
            	rhtmlSuffix = /HTML$/i,
         
     | 
| 
       155 
153 
     | 
    
         | 
| 
       156 
154 
     | 
    
         
             
            	// Define a local copy of jQuery
         
     | 
| 
       157 
155 
     | 
    
         
             
            	jQuery = function( selector, context ) {
         
     | 
| 
         @@ -397,6 +395,33 @@ jQuery.extend( { 
     | 
|
| 
       397 
395 
     | 
    
         
             
            		return obj;
         
     | 
| 
       398 
396 
     | 
    
         
             
            	},
         
     | 
| 
       399 
397 
     | 
    
         | 
| 
      
 398 
     | 
    
         
            +
             
     | 
| 
      
 399 
     | 
    
         
            +
            	// Retrieve the text value of an array of DOM nodes
         
     | 
| 
      
 400 
     | 
    
         
            +
            	text: function( elem ) {
         
     | 
| 
      
 401 
     | 
    
         
            +
            		var node,
         
     | 
| 
      
 402 
     | 
    
         
            +
            			ret = "",
         
     | 
| 
      
 403 
     | 
    
         
            +
            			i = 0,
         
     | 
| 
      
 404 
     | 
    
         
            +
            			nodeType = elem.nodeType;
         
     | 
| 
      
 405 
     | 
    
         
            +
             
     | 
| 
      
 406 
     | 
    
         
            +
            		if ( !nodeType ) {
         
     | 
| 
      
 407 
     | 
    
         
            +
             
     | 
| 
      
 408 
     | 
    
         
            +
            			// If no nodeType, this is expected to be an array
         
     | 
| 
      
 409 
     | 
    
         
            +
            			while ( ( node = elem[ i++ ] ) ) {
         
     | 
| 
      
 410 
     | 
    
         
            +
             
     | 
| 
      
 411 
     | 
    
         
            +
            				// Do not traverse comment nodes
         
     | 
| 
      
 412 
     | 
    
         
            +
            				ret += jQuery.text( node );
         
     | 
| 
      
 413 
     | 
    
         
            +
            			}
         
     | 
| 
      
 414 
     | 
    
         
            +
            		} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
         
     | 
| 
      
 415 
     | 
    
         
            +
            			return elem.textContent;
         
     | 
| 
      
 416 
     | 
    
         
            +
            		} else if ( nodeType === 3 || nodeType === 4 ) {
         
     | 
| 
      
 417 
     | 
    
         
            +
            			return elem.nodeValue;
         
     | 
| 
      
 418 
     | 
    
         
            +
            		}
         
     | 
| 
      
 419 
     | 
    
         
            +
             
     | 
| 
      
 420 
     | 
    
         
            +
            		// Do not include comment or processing instruction nodes
         
     | 
| 
      
 421 
     | 
    
         
            +
             
     | 
| 
      
 422 
     | 
    
         
            +
            		return ret;
         
     | 
| 
      
 423 
     | 
    
         
            +
            	},
         
     | 
| 
      
 424 
     | 
    
         
            +
             
     | 
| 
       400 
425 
     | 
    
         
             
            	// results is for internal usage only
         
     | 
| 
       401 
426 
     | 
    
         
             
            	makeArray: function( arr, results ) {
         
     | 
| 
       402 
427 
     | 
    
         
             
            		var ret = results || [];
         
     | 
| 
         @@ -419,6 +444,15 @@ jQuery.extend( { 
     | 
|
| 
       419 
444 
     | 
    
         
             
            		return arr == null ? -1 : indexOf.call( arr, elem, i );
         
     | 
| 
       420 
445 
     | 
    
         
             
            	},
         
     | 
| 
       421 
446 
     | 
    
         | 
| 
      
 447 
     | 
    
         
            +
            	isXMLDoc: function( elem ) {
         
     | 
| 
      
 448 
     | 
    
         
            +
            		var namespace = elem && elem.namespaceURI,
         
     | 
| 
      
 449 
     | 
    
         
            +
            			docElem = elem && ( elem.ownerDocument || elem ).documentElement;
         
     | 
| 
      
 450 
     | 
    
         
            +
             
     | 
| 
      
 451 
     | 
    
         
            +
            		// Assume HTML when documentElement doesn't yet exist, such as inside
         
     | 
| 
      
 452 
     | 
    
         
            +
            		// document fragments.
         
     | 
| 
      
 453 
     | 
    
         
            +
            		return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
         
     | 
| 
      
 454 
     | 
    
         
            +
            	},
         
     | 
| 
      
 455 
     | 
    
         
            +
             
     | 
| 
       422 
456 
     | 
    
         
             
            	// Support: Android <=4.0 only, PhantomJS 1 only
         
     | 
| 
       423 
457 
     | 
    
         
             
            	// push.apply(_, arraylike) throws on ancient WebKit
         
     | 
| 
       424 
458 
     | 
    
         
             
            	merge: function( first, second ) {
         
     | 
| 
         @@ -520,43 +554,98 @@ function isArrayLike( obj ) { 
     | 
|
| 
       520 
554 
     | 
    
         
             
            	return type === "array" || length === 0 ||
         
     | 
| 
       521 
555 
     | 
    
         
             
            		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
         
     | 
| 
       522 
556 
     | 
    
         
             
            }
         
     | 
| 
       523 
     | 
    
         
            -
             
     | 
| 
       524 
     | 
    
         
            -
             
     | 
| 
       525 
     | 
    
         
            -
              
     | 
| 
       526 
     | 
    
         
            -
             
     | 
| 
       527 
     | 
    
         
            -
              
     | 
| 
       528 
     | 
    
         
            -
             
     | 
| 
       529 
     | 
    
         
            -
             
     | 
| 
       530 
     | 
    
         
            -
              
     | 
| 
       531 
     | 
    
         
            -
             
     | 
| 
       532 
     | 
    
         
            -
             
     | 
| 
       533 
     | 
    
         
            -
              
     | 
| 
       534 
     | 
    
         
            -
             
     | 
| 
      
 557 
     | 
    
         
            +
             
     | 
| 
      
 558 
     | 
    
         
            +
             
     | 
| 
      
 559 
     | 
    
         
            +
            function nodeName( elem, name ) {
         
     | 
| 
      
 560 
     | 
    
         
            +
             
     | 
| 
      
 561 
     | 
    
         
            +
            	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
         
     | 
| 
      
 562 
     | 
    
         
            +
             
     | 
| 
      
 563 
     | 
    
         
            +
            }
         
     | 
| 
      
 564 
     | 
    
         
            +
            var pop = arr.pop;
         
     | 
| 
      
 565 
     | 
    
         
            +
             
     | 
| 
      
 566 
     | 
    
         
            +
             
     | 
| 
      
 567 
     | 
    
         
            +
            var sort = arr.sort;
         
     | 
| 
      
 568 
     | 
    
         
            +
             
     | 
| 
      
 569 
     | 
    
         
            +
             
     | 
| 
      
 570 
     | 
    
         
            +
            var splice = arr.splice;
         
     | 
| 
      
 571 
     | 
    
         
            +
             
     | 
| 
      
 572 
     | 
    
         
            +
             
     | 
| 
      
 573 
     | 
    
         
            +
            var whitespace = "[\\x20\\t\\r\\n\\f]";
         
     | 
| 
      
 574 
     | 
    
         
            +
             
     | 
| 
      
 575 
     | 
    
         
            +
             
     | 
| 
      
 576 
     | 
    
         
            +
            var rtrimCSS = new RegExp(
         
     | 
| 
      
 577 
     | 
    
         
            +
            	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
         
     | 
| 
      
 578 
     | 
    
         
            +
            	"g"
         
     | 
| 
      
 579 
     | 
    
         
            +
            );
         
     | 
| 
      
 580 
     | 
    
         
            +
             
     | 
| 
      
 581 
     | 
    
         
            +
             
     | 
| 
      
 582 
     | 
    
         
            +
             
     | 
| 
      
 583 
     | 
    
         
            +
             
     | 
| 
      
 584 
     | 
    
         
            +
            // Note: an element does not contain itself
         
     | 
| 
      
 585 
     | 
    
         
            +
            jQuery.contains = function( a, b ) {
         
     | 
| 
      
 586 
     | 
    
         
            +
            	var bup = b && b.parentNode;
         
     | 
| 
      
 587 
     | 
    
         
            +
             
     | 
| 
      
 588 
     | 
    
         
            +
            	return a === bup || !!( bup && bup.nodeType === 1 && (
         
     | 
| 
      
 589 
     | 
    
         
            +
             
     | 
| 
      
 590 
     | 
    
         
            +
            		// Support: IE 9 - 11+
         
     | 
| 
      
 591 
     | 
    
         
            +
            		// IE doesn't have `contains` on SVG.
         
     | 
| 
      
 592 
     | 
    
         
            +
            		a.contains ?
         
     | 
| 
      
 593 
     | 
    
         
            +
            			a.contains( bup ) :
         
     | 
| 
      
 594 
     | 
    
         
            +
            			a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
         
     | 
| 
      
 595 
     | 
    
         
            +
            	) );
         
     | 
| 
      
 596 
     | 
    
         
            +
            };
         
     | 
| 
      
 597 
     | 
    
         
            +
             
     | 
| 
      
 598 
     | 
    
         
            +
             
     | 
| 
      
 599 
     | 
    
         
            +
             
     | 
| 
      
 600 
     | 
    
         
            +
             
     | 
| 
      
 601 
     | 
    
         
            +
            // CSS string/identifier serialization
         
     | 
| 
      
 602 
     | 
    
         
            +
            // https://drafts.csswg.org/cssom/#common-serializing-idioms
         
     | 
| 
      
 603 
     | 
    
         
            +
            var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
         
     | 
| 
      
 604 
     | 
    
         
            +
             
     | 
| 
      
 605 
     | 
    
         
            +
            function fcssescape( ch, asCodePoint ) {
         
     | 
| 
      
 606 
     | 
    
         
            +
            	if ( asCodePoint ) {
         
     | 
| 
      
 607 
     | 
    
         
            +
             
     | 
| 
      
 608 
     | 
    
         
            +
            		// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
         
     | 
| 
      
 609 
     | 
    
         
            +
            		if ( ch === "\0" ) {
         
     | 
| 
      
 610 
     | 
    
         
            +
            			return "\uFFFD";
         
     | 
| 
      
 611 
     | 
    
         
            +
            		}
         
     | 
| 
      
 612 
     | 
    
         
            +
             
     | 
| 
      
 613 
     | 
    
         
            +
            		// Control characters and (dependent upon position) numbers get escaped as code points
         
     | 
| 
      
 614 
     | 
    
         
            +
            		return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
         
     | 
| 
      
 615 
     | 
    
         
            +
            	}
         
     | 
| 
      
 616 
     | 
    
         
            +
             
     | 
| 
      
 617 
     | 
    
         
            +
            	// Other potentially-special ASCII characters get backslash-escaped
         
     | 
| 
      
 618 
     | 
    
         
            +
            	return "\\" + ch;
         
     | 
| 
      
 619 
     | 
    
         
            +
            }
         
     | 
| 
      
 620 
     | 
    
         
            +
             
     | 
| 
      
 621 
     | 
    
         
            +
            jQuery.escapeSelector = function( sel ) {
         
     | 
| 
      
 622 
     | 
    
         
            +
            	return ( sel + "" ).replace( rcssescape, fcssescape );
         
     | 
| 
      
 623 
     | 
    
         
            +
            };
         
     | 
| 
      
 624 
     | 
    
         
            +
             
     | 
| 
      
 625 
     | 
    
         
            +
             
     | 
| 
      
 626 
     | 
    
         
            +
             
     | 
| 
      
 627 
     | 
    
         
            +
             
     | 
| 
      
 628 
     | 
    
         
            +
            var preferredDoc = document,
         
     | 
| 
      
 629 
     | 
    
         
            +
            	pushNative = push;
         
     | 
| 
      
 630 
     | 
    
         
            +
             
     | 
| 
      
 631 
     | 
    
         
            +
            ( function() {
         
     | 
| 
      
 632 
     | 
    
         
            +
             
     | 
| 
       535 
633 
     | 
    
         
             
            var i,
         
     | 
| 
       536 
     | 
    
         
            -
            	support,
         
     | 
| 
       537 
634 
     | 
    
         
             
            	Expr,
         
     | 
| 
       538 
     | 
    
         
            -
            	getText,
         
     | 
| 
       539 
     | 
    
         
            -
            	isXML,
         
     | 
| 
       540 
     | 
    
         
            -
            	tokenize,
         
     | 
| 
       541 
     | 
    
         
            -
            	compile,
         
     | 
| 
       542 
     | 
    
         
            -
            	select,
         
     | 
| 
       543 
635 
     | 
    
         
             
            	outermostContext,
         
     | 
| 
       544 
636 
     | 
    
         
             
            	sortInput,
         
     | 
| 
       545 
637 
     | 
    
         
             
            	hasDuplicate,
         
     | 
| 
      
 638 
     | 
    
         
            +
            	push = pushNative,
         
     | 
| 
       546 
639 
     | 
    
         | 
| 
       547 
640 
     | 
    
         
             
            	// Local document vars
         
     | 
| 
       548 
     | 
    
         
            -
            	setDocument,
         
     | 
| 
       549 
641 
     | 
    
         
             
            	document,
         
     | 
| 
       550 
     | 
    
         
            -
            	 
     | 
| 
      
 642 
     | 
    
         
            +
            	documentElement,
         
     | 
| 
       551 
643 
     | 
    
         
             
            	documentIsHTML,
         
     | 
| 
       552 
644 
     | 
    
         
             
            	rbuggyQSA,
         
     | 
| 
       553 
     | 
    
         
            -
            	rbuggyMatches,
         
     | 
| 
       554 
645 
     | 
    
         
             
            	matches,
         
     | 
| 
       555 
     | 
    
         
            -
            	contains,
         
     | 
| 
       556 
646 
     | 
    
         | 
| 
       557 
647 
     | 
    
         
             
            	// Instance-specific data
         
     | 
| 
       558 
     | 
    
         
            -
            	expando =  
     | 
| 
       559 
     | 
    
         
            -
            	preferredDoc = window.document,
         
     | 
| 
      
 648 
     | 
    
         
            +
            	expando = jQuery.expando,
         
     | 
| 
       560 
649 
     | 
    
         
             
            	dirruns = 0,
         
     | 
| 
       561 
650 
     | 
    
         
             
            	done = 0,
         
     | 
| 
       562 
651 
     | 
    
         
             
            	classCache = createCache(),
         
     | 
| 
         @@ -570,47 +659,22 @@ var i, 
     | 
|
| 
       570 
659 
     | 
    
         
             
            		return 0;
         
     | 
| 
       571 
660 
     | 
    
         
             
            	},
         
     | 
| 
       572 
661 
     | 
    
         | 
| 
       573 
     | 
    
         
            -
            	 
     | 
| 
       574 
     | 
    
         
            -
             
     | 
| 
       575 
     | 
    
         
            -
            	arr = [],
         
     | 
| 
       576 
     | 
    
         
            -
            	pop = arr.pop,
         
     | 
| 
       577 
     | 
    
         
            -
            	pushNative = arr.push,
         
     | 
| 
       578 
     | 
    
         
            -
            	push = arr.push,
         
     | 
| 
       579 
     | 
    
         
            -
            	slice = arr.slice,
         
     | 
| 
       580 
     | 
    
         
            -
             
     | 
| 
       581 
     | 
    
         
            -
            	// Use a stripped-down indexOf as it's faster than native
         
     | 
| 
       582 
     | 
    
         
            -
            	// https://jsperf.com/thor-indexof-vs-for/5
         
     | 
| 
       583 
     | 
    
         
            -
            	indexOf = function( list, elem ) {
         
     | 
| 
       584 
     | 
    
         
            -
            		var i = 0,
         
     | 
| 
       585 
     | 
    
         
            -
            			len = list.length;
         
     | 
| 
       586 
     | 
    
         
            -
            		for ( ; i < len; i++ ) {
         
     | 
| 
       587 
     | 
    
         
            -
            			if ( list[ i ] === elem ) {
         
     | 
| 
       588 
     | 
    
         
            -
            				return i;
         
     | 
| 
       589 
     | 
    
         
            -
            			}
         
     | 
| 
       590 
     | 
    
         
            -
            		}
         
     | 
| 
       591 
     | 
    
         
            -
            		return -1;
         
     | 
| 
       592 
     | 
    
         
            -
            	},
         
     | 
| 
       593 
     | 
    
         
            -
             
     | 
| 
       594 
     | 
    
         
            -
            	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
         
     | 
| 
       595 
     | 
    
         
            -
            		"ismap|loop|multiple|open|readonly|required|scoped",
         
     | 
| 
      
 662 
     | 
    
         
            +
            	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
         
     | 
| 
      
 663 
     | 
    
         
            +
            		"loop|multiple|open|readonly|required|scoped",
         
     | 
| 
       596 
664 
     | 
    
         | 
| 
       597 
665 
     | 
    
         
             
            	// Regular expressions
         
     | 
| 
       598 
666 
     | 
    
         | 
| 
       599 
     | 
    
         
            -
            	// http://www.w3.org/TR/css3-selectors/#whitespace
         
     | 
| 
       600 
     | 
    
         
            -
            	whitespace = "[\\x20\\t\\r\\n\\f]",
         
     | 
| 
       601 
     | 
    
         
            -
             
     | 
| 
       602 
667 
     | 
    
         
             
            	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
         
     | 
| 
       603 
668 
     | 
    
         
             
            	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
         
     | 
| 
       604 
669 
     | 
    
         
             
            		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
         
     | 
| 
       605 
670 
     | 
    
         | 
| 
       606 
     | 
    
         
            -
            	// Attribute selectors:  
     | 
| 
      
 671 
     | 
    
         
            +
            	// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
         
     | 
| 
       607 
672 
     | 
    
         
             
            	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
         
     | 
| 
       608 
673 
     | 
    
         | 
| 
       609 
674 
     | 
    
         
             
            		// Operator (capture 2)
         
     | 
| 
       610 
675 
     | 
    
         
             
            		"*([*^$|!~]?=)" + whitespace +
         
     | 
| 
       611 
676 
     | 
    
         | 
| 
       612 
     | 
    
         
            -
            		// "Attribute values must be CSS identifiers [capture 5]
         
     | 
| 
       613 
     | 
    
         
            -
            		// or strings [capture 3 or capture 4]"
         
     | 
| 
      
 677 
     | 
    
         
            +
            		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
         
     | 
| 
       614 
678 
     | 
    
         
             
            		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
         
     | 
| 
       615 
679 
     | 
    
         
             
            		whitespace + "*\\]",
         
     | 
| 
       616 
680 
     | 
    
         | 
| 
         @@ -629,101 +693,88 @@ var i, 
     | 
|
| 
       629 
693 
     | 
    
         | 
| 
       630 
694 
     | 
    
         
             
            	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
         
     | 
| 
       631 
695 
     | 
    
         
             
            	rwhitespace = new RegExp( whitespace + "+", "g" ),
         
     | 
| 
       632 
     | 
    
         
            -
            	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
         
     | 
| 
       633 
     | 
    
         
            -
            		whitespace + "+$", "g" ),
         
     | 
| 
       634 
696 
     | 
    
         | 
| 
       635 
697 
     | 
    
         
             
            	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
         
     | 
| 
       636 
     | 
    
         
            -
            	 
     | 
| 
       637 
     | 
    
         
            -
            		"*" ),
         
     | 
| 
      
 698 
     | 
    
         
            +
            	rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
         
     | 
| 
      
 699 
     | 
    
         
            +
            		whitespace + "*" ),
         
     | 
| 
       638 
700 
     | 
    
         
             
            	rdescend = new RegExp( whitespace + "|>" ),
         
     | 
| 
       639 
701 
     | 
    
         | 
| 
       640 
702 
     | 
    
         
             
            	rpseudo = new RegExp( pseudos ),
         
     | 
| 
       641 
703 
     | 
    
         
             
            	ridentifier = new RegExp( "^" + identifier + "$" ),
         
     | 
| 
       642 
704 
     | 
    
         | 
| 
       643 
705 
     | 
    
         
             
            	matchExpr = {
         
     | 
| 
       644 
     | 
    
         
            -
            		 
     | 
| 
       645 
     | 
    
         
            -
            		 
     | 
| 
       646 
     | 
    
         
            -
            		 
     | 
| 
       647 
     | 
    
         
            -
            		 
     | 
| 
       648 
     | 
    
         
            -
            		 
     | 
| 
       649 
     | 
    
         
            -
            		 
     | 
| 
       650 
     | 
    
         
            -
            			 
     | 
| 
       651 
     | 
    
         
            -
             
     | 
| 
       652 
     | 
    
         
            -
             
     | 
| 
      
 706 
     | 
    
         
            +
            		ID: new RegExp( "^#(" + identifier + ")" ),
         
     | 
| 
      
 707 
     | 
    
         
            +
            		CLASS: new RegExp( "^\\.(" + identifier + ")" ),
         
     | 
| 
      
 708 
     | 
    
         
            +
            		TAG: new RegExp( "^(" + identifier + "|[*])" ),
         
     | 
| 
      
 709 
     | 
    
         
            +
            		ATTR: new RegExp( "^" + attributes ),
         
     | 
| 
      
 710 
     | 
    
         
            +
            		PSEUDO: new RegExp( "^" + pseudos ),
         
     | 
| 
      
 711 
     | 
    
         
            +
            		CHILD: new RegExp(
         
     | 
| 
      
 712 
     | 
    
         
            +
            			"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
         
     | 
| 
      
 713 
     | 
    
         
            +
            				whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
         
     | 
| 
      
 714 
     | 
    
         
            +
            				whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
         
     | 
| 
      
 715 
     | 
    
         
            +
            		bool: new RegExp( "^(?:" + booleans + ")$", "i" ),
         
     | 
| 
       653 
716 
     | 
    
         | 
| 
       654 
717 
     | 
    
         
             
            		// For use in libraries implementing .is()
         
     | 
| 
       655 
718 
     | 
    
         
             
            		// We use this for POS matching in `select`
         
     | 
| 
       656 
     | 
    
         
            -
            		 
     | 
| 
      
 719 
     | 
    
         
            +
            		needsContext: new RegExp( "^" + whitespace +
         
     | 
| 
       657 
720 
     | 
    
         
             
            			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
         
     | 
| 
       658 
721 
     | 
    
         
             
            			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
         
     | 
| 
       659 
722 
     | 
    
         
             
            	},
         
     | 
| 
       660 
723 
     | 
    
         | 
| 
       661 
     | 
    
         
            -
            	rhtml = /HTML$/i,
         
     | 
| 
       662 
724 
     | 
    
         
             
            	rinputs = /^(?:input|select|textarea|button)$/i,
         
     | 
| 
       663 
725 
     | 
    
         
             
            	rheader = /^h\d$/i,
         
     | 
| 
       664 
726 
     | 
    
         | 
| 
       665 
     | 
    
         
            -
            	rnative = /^[^{]+\{\s*\[native \w/,
         
     | 
| 
       666 
     | 
    
         
            -
             
     | 
| 
       667 
727 
     | 
    
         
             
            	// Easily-parseable/retrievable ID or TAG or CLASS selectors
         
     | 
| 
       668 
728 
     | 
    
         
             
            	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
         
     | 
| 
       669 
729 
     | 
    
         | 
| 
       670 
730 
     | 
    
         
             
            	rsibling = /[+~]/,
         
     | 
| 
       671 
731 
     | 
    
         | 
| 
       672 
732 
     | 
    
         
             
            	// CSS escapes
         
     | 
| 
       673 
     | 
    
         
            -
            	//  
     | 
| 
       674 
     | 
    
         
            -
            	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + 
     | 
| 
      
 733 
     | 
    
         
            +
            	// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
         
     | 
| 
      
 734 
     | 
    
         
            +
            	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
         
     | 
| 
      
 735 
     | 
    
         
            +
            		"?|\\\\([^\\r\\n\\f])", "g" ),
         
     | 
| 
       675 
736 
     | 
    
         
             
            	funescape = function( escape, nonHex ) {
         
     | 
| 
       676 
737 
     | 
    
         
             
            		var high = "0x" + escape.slice( 1 ) - 0x10000;
         
     | 
| 
       677 
738 
     | 
    
         | 
| 
       678 
     | 
    
         
            -
            		 
     | 
| 
      
 739 
     | 
    
         
            +
            		if ( nonHex ) {
         
     | 
| 
       679 
740 
     | 
    
         | 
| 
       680 
741 
     | 
    
         
             
            			// Strip the backslash prefix from a non-hex escape sequence
         
     | 
| 
       681 
     | 
    
         
            -
            			nonHex 
     | 
| 
       682 
     | 
    
         
            -
             
     | 
| 
       683 
     | 
    
         
            -
            			// Replace a hexadecimal escape sequence with the encoded Unicode code point
         
     | 
| 
       684 
     | 
    
         
            -
            			// Support: IE <=11+
         
     | 
| 
       685 
     | 
    
         
            -
            			// For values outside the Basic Multilingual Plane (BMP), manually construct a
         
     | 
| 
       686 
     | 
    
         
            -
            			// surrogate pair
         
     | 
| 
       687 
     | 
    
         
            -
            			high < 0 ?
         
     | 
| 
       688 
     | 
    
         
            -
            				String.fromCharCode( high + 0x10000 ) :
         
     | 
| 
       689 
     | 
    
         
            -
            				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
         
     | 
| 
       690 
     | 
    
         
            -
            	},
         
     | 
| 
       691 
     | 
    
         
            -
             
     | 
| 
       692 
     | 
    
         
            -
            	// CSS string/identifier serialization
         
     | 
| 
       693 
     | 
    
         
            -
            	// https://drafts.csswg.org/cssom/#common-serializing-idioms
         
     | 
| 
       694 
     | 
    
         
            -
            	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
         
     | 
| 
       695 
     | 
    
         
            -
            	fcssescape = function( ch, asCodePoint ) {
         
     | 
| 
       696 
     | 
    
         
            -
            		if ( asCodePoint ) {
         
     | 
| 
       697 
     | 
    
         
            -
             
     | 
| 
       698 
     | 
    
         
            -
            			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
         
     | 
| 
       699 
     | 
    
         
            -
            			if ( ch === "\0" ) {
         
     | 
| 
       700 
     | 
    
         
            -
            				return "\uFFFD";
         
     | 
| 
       701 
     | 
    
         
            -
            			}
         
     | 
| 
       702 
     | 
    
         
            -
             
     | 
| 
       703 
     | 
    
         
            -
            			// Control characters and (dependent upon position) numbers get escaped as code points
         
     | 
| 
       704 
     | 
    
         
            -
            			return ch.slice( 0, -1 ) + "\\" +
         
     | 
| 
       705 
     | 
    
         
            -
            				ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
         
     | 
| 
      
 742 
     | 
    
         
            +
            			return nonHex;
         
     | 
| 
       706 
743 
     | 
    
         
             
            		}
         
     | 
| 
       707 
744 
     | 
    
         | 
| 
       708 
     | 
    
         
            -
            		//  
     | 
| 
       709 
     | 
    
         
            -
            		 
     | 
| 
      
 745 
     | 
    
         
            +
            		// Replace a hexadecimal escape sequence with the encoded Unicode code point
         
     | 
| 
      
 746 
     | 
    
         
            +
            		// Support: IE <=11+
         
     | 
| 
      
 747 
     | 
    
         
            +
            		// For values outside the Basic Multilingual Plane (BMP), manually construct a
         
     | 
| 
      
 748 
     | 
    
         
            +
            		// surrogate pair
         
     | 
| 
      
 749 
     | 
    
         
            +
            		return high < 0 ?
         
     | 
| 
      
 750 
     | 
    
         
            +
            			String.fromCharCode( high + 0x10000 ) :
         
     | 
| 
      
 751 
     | 
    
         
            +
            			String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
         
     | 
| 
       710 
752 
     | 
    
         
             
            	},
         
     | 
| 
       711 
753 
     | 
    
         | 
| 
       712 
     | 
    
         
            -
            	// Used for iframes
         
     | 
| 
       713 
     | 
    
         
            -
            	//  
     | 
| 
      
 754 
     | 
    
         
            +
            	// Used for iframes; see `setDocument`.
         
     | 
| 
      
 755 
     | 
    
         
            +
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
       714 
756 
     | 
    
         
             
            	// Removing the function wrapper causes a "Permission Denied"
         
     | 
| 
       715 
     | 
    
         
            -
            	// error in IE
         
     | 
| 
      
 757 
     | 
    
         
            +
            	// error in IE/Edge.
         
     | 
| 
       716 
758 
     | 
    
         
             
            	unloadHandler = function() {
         
     | 
| 
       717 
759 
     | 
    
         
             
            		setDocument();
         
     | 
| 
       718 
760 
     | 
    
         
             
            	},
         
     | 
| 
       719 
761 
     | 
    
         | 
| 
       720 
762 
     | 
    
         
             
            	inDisabledFieldset = addCombinator(
         
     | 
| 
       721 
763 
     | 
    
         
             
            		function( elem ) {
         
     | 
| 
       722 
     | 
    
         
            -
            			return elem.disabled === true &&  
     | 
| 
      
 764 
     | 
    
         
            +
            			return elem.disabled === true && nodeName( elem, "fieldset" );
         
     | 
| 
       723 
765 
     | 
    
         
             
            		},
         
     | 
| 
       724 
766 
     | 
    
         
             
            		{ dir: "parentNode", next: "legend" }
         
     | 
| 
       725 
767 
     | 
    
         
             
            	);
         
     | 
| 
       726 
768 
     | 
    
         | 
| 
      
 769 
     | 
    
         
            +
            // Support: IE <=9 only
         
     | 
| 
      
 770 
     | 
    
         
            +
            // Accessing document.activeElement can throw unexpectedly
         
     | 
| 
      
 771 
     | 
    
         
            +
            // https://bugs.jquery.com/ticket/13393
         
     | 
| 
      
 772 
     | 
    
         
            +
            function safeActiveElement() {
         
     | 
| 
      
 773 
     | 
    
         
            +
            	try {
         
     | 
| 
      
 774 
     | 
    
         
            +
            		return document.activeElement;
         
     | 
| 
      
 775 
     | 
    
         
            +
            	} catch ( err ) { }
         
     | 
| 
      
 776 
     | 
    
         
            +
            }
         
     | 
| 
      
 777 
     | 
    
         
            +
             
     | 
| 
       727 
778 
     | 
    
         
             
            // Optimize for push.apply( _, NodeList )
         
     | 
| 
       728 
779 
     | 
    
         
             
            try {
         
     | 
| 
       729 
780 
     | 
    
         
             
            	push.apply(
         
     | 
| 
         @@ -731,32 +782,22 @@ try { 
     | 
|
| 
       731 
782 
     | 
    
         
             
            		preferredDoc.childNodes
         
     | 
| 
       732 
783 
     | 
    
         
             
            	);
         
     | 
| 
       733 
784 
     | 
    
         | 
| 
       734 
     | 
    
         
            -
            	// Support: Android 
     | 
| 
      
 785 
     | 
    
         
            +
            	// Support: Android <=4.0
         
     | 
| 
       735 
786 
     | 
    
         
             
            	// Detect silently failing push.apply
         
     | 
| 
       736 
787 
     | 
    
         
             
            	// eslint-disable-next-line no-unused-expressions
         
     | 
| 
       737 
788 
     | 
    
         
             
            	arr[ preferredDoc.childNodes.length ].nodeType;
         
     | 
| 
       738 
789 
     | 
    
         
             
            } catch ( e ) {
         
     | 
| 
       739 
     | 
    
         
            -
            	push = { 
     | 
| 
       740 
     | 
    
         
            -
             
     | 
| 
       741 
     | 
    
         
            -
            		// Leverage slice if possible
         
     | 
| 
       742 
     | 
    
         
            -
            		function( target, els ) {
         
     | 
| 
      
 790 
     | 
    
         
            +
            	push = {
         
     | 
| 
      
 791 
     | 
    
         
            +
            		apply: function( target, els ) {
         
     | 
| 
       743 
792 
     | 
    
         
             
            			pushNative.apply( target, slice.call( els ) );
         
     | 
| 
       744 
     | 
    
         
            -
            		} 
     | 
| 
       745 
     | 
    
         
            -
             
     | 
| 
       746 
     | 
    
         
            -
             
     | 
| 
       747 
     | 
    
         
            -
            		// Otherwise append directly
         
     | 
| 
       748 
     | 
    
         
            -
            		function( target, els ) {
         
     | 
| 
       749 
     | 
    
         
            -
            			var j = target.length,
         
     | 
| 
       750 
     | 
    
         
            -
            				i = 0;
         
     | 
| 
       751 
     | 
    
         
            -
             
     | 
| 
       752 
     | 
    
         
            -
            			// Can't trust NodeList.length
         
     | 
| 
       753 
     | 
    
         
            -
            			while ( ( target[ j++ ] = els[ i++ ] ) ) {}
         
     | 
| 
       754 
     | 
    
         
            -
            			target.length = j - 1;
         
     | 
| 
      
 793 
     | 
    
         
            +
            		},
         
     | 
| 
      
 794 
     | 
    
         
            +
            		call: function( target ) {
         
     | 
| 
      
 795 
     | 
    
         
            +
            			pushNative.apply( target, slice.call( arguments, 1 ) );
         
     | 
| 
       755 
796 
     | 
    
         
             
            		}
         
     | 
| 
       756 
797 
     | 
    
         
             
            	};
         
     | 
| 
       757 
798 
     | 
    
         
             
            }
         
     | 
| 
       758 
799 
     | 
    
         | 
| 
       759 
     | 
    
         
            -
            function  
     | 
| 
      
 800 
     | 
    
         
            +
            function find( selector, context, results, seed ) {
         
     | 
| 
       760 
801 
     | 
    
         
             
            	var m, i, elem, nid, match, groups, newSelector,
         
     | 
| 
       761 
802 
     | 
    
         
             
            		newContext = context && context.ownerDocument,
         
     | 
| 
       762 
803 
     | 
    
         | 
| 
         @@ -790,11 +831,10 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       790 
831 
     | 
    
         
             
            					if ( nodeType === 9 ) {
         
     | 
| 
       791 
832 
     | 
    
         
             
            						if ( ( elem = context.getElementById( m ) ) ) {
         
     | 
| 
       792 
833 
     | 
    
         | 
| 
       793 
     | 
    
         
            -
            							// Support: IE 
     | 
| 
       794 
     | 
    
         
            -
            							// TODO: identify versions
         
     | 
| 
      
 834 
     | 
    
         
            +
            							// Support: IE 9 only
         
     | 
| 
       795 
835 
     | 
    
         
             
            							// getElementById can match elements by name instead of ID
         
     | 
| 
       796 
836 
     | 
    
         
             
            							if ( elem.id === m ) {
         
     | 
| 
       797 
     | 
    
         
            -
            								 
     | 
| 
      
 837 
     | 
    
         
            +
            								push.call( results, elem );
         
     | 
| 
       798 
838 
     | 
    
         
             
            								return results;
         
     | 
| 
       799 
839 
     | 
    
         
             
            							}
         
     | 
| 
       800 
840 
     | 
    
         
             
            						} else {
         
     | 
| 
         @@ -804,14 +844,13 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       804 
844 
     | 
    
         
             
            					// Element context
         
     | 
| 
       805 
845 
     | 
    
         
             
            					} else {
         
     | 
| 
       806 
846 
     | 
    
         | 
| 
       807 
     | 
    
         
            -
            						// Support: IE 
     | 
| 
       808 
     | 
    
         
            -
            						// TODO: identify versions
         
     | 
| 
      
 847 
     | 
    
         
            +
            						// Support: IE 9 only
         
     | 
| 
       809 
848 
     | 
    
         
             
            						// getElementById can match elements by name instead of ID
         
     | 
| 
       810 
849 
     | 
    
         
             
            						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
         
     | 
| 
       811 
     | 
    
         
            -
            							contains( context, elem ) &&
         
     | 
| 
      
 850 
     | 
    
         
            +
            							find.contains( context, elem ) &&
         
     | 
| 
       812 
851 
     | 
    
         
             
            							elem.id === m ) {
         
     | 
| 
       813 
852 
     | 
    
         | 
| 
       814 
     | 
    
         
            -
            							 
     | 
| 
      
 853 
     | 
    
         
            +
            							push.call( results, elem );
         
     | 
| 
       815 
854 
     | 
    
         
             
            							return results;
         
     | 
| 
       816 
855 
     | 
    
         
             
            						}
         
     | 
| 
       817 
856 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -822,22 +861,15 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       822 
861 
     | 
    
         
             
            					return results;
         
     | 
| 
       823 
862 
     | 
    
         | 
| 
       824 
863 
     | 
    
         
             
            				// Class selector
         
     | 
| 
       825 
     | 
    
         
            -
            				} else if ( ( m = match[ 3 ] ) &&  
     | 
| 
       826 
     | 
    
         
            -
            					context.getElementsByClassName ) {
         
     | 
| 
       827 
     | 
    
         
            -
             
     | 
| 
      
 864 
     | 
    
         
            +
            				} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
         
     | 
| 
       828 
865 
     | 
    
         
             
            					push.apply( results, context.getElementsByClassName( m ) );
         
     | 
| 
       829 
866 
     | 
    
         
             
            					return results;
         
     | 
| 
       830 
867 
     | 
    
         
             
            				}
         
     | 
| 
       831 
868 
     | 
    
         
             
            			}
         
     | 
| 
       832 
869 
     | 
    
         | 
| 
       833 
870 
     | 
    
         
             
            			// Take advantage of querySelectorAll
         
     | 
| 
       834 
     | 
    
         
            -
            			if (  
     | 
| 
       835 
     | 
    
         
            -
            				! 
     | 
| 
       836 
     | 
    
         
            -
            				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
         
     | 
| 
       837 
     | 
    
         
            -
             
     | 
| 
       838 
     | 
    
         
            -
            				// Support: IE 8 only
         
     | 
| 
       839 
     | 
    
         
            -
            				// Exclude object elements
         
     | 
| 
       840 
     | 
    
         
            -
            				( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
         
     | 
| 
      
 871 
     | 
    
         
            +
            			if ( !nonnativeSelectorCache[ selector + " " ] &&
         
     | 
| 
      
 872 
     | 
    
         
            +
            				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {
         
     | 
| 
       841 
873 
     | 
    
         | 
| 
       842 
874 
     | 
    
         
             
            				newSelector = selector;
         
     | 
| 
       843 
875 
     | 
    
         
             
            				newContext = context;
         
     | 
| 
         @@ -850,7 +882,7 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       850 
882 
     | 
    
         
             
            				// as such selectors are not recognized by querySelectorAll.
         
     | 
| 
       851 
883 
     | 
    
         
             
            				// Thanks to Andrew Dupont for this technique.
         
     | 
| 
       852 
884 
     | 
    
         
             
            				if ( nodeType === 1 &&
         
     | 
| 
       853 
     | 
    
         
            -
            					( rdescend.test( selector ) ||  
     | 
| 
      
 885 
     | 
    
         
            +
            					( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {
         
     | 
| 
       854 
886 
     | 
    
         | 
| 
       855 
887 
     | 
    
         
             
            					// Expand context for sibling selectors
         
     | 
| 
       856 
888 
     | 
    
         
             
            					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
         
     | 
| 
         @@ -858,11 +890,15 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       858 
890 
     | 
    
         | 
| 
       859 
891 
     | 
    
         
             
            					// We can use :scope instead of the ID hack if the browser
         
     | 
| 
       860 
892 
     | 
    
         
             
            					// supports it & if we're not changing the context.
         
     | 
| 
       861 
     | 
    
         
            -
            					 
     | 
| 
      
 893 
     | 
    
         
            +
            					// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 894 
     | 
    
         
            +
            					// IE/Edge sometimes throw a "Permission denied" error when
         
     | 
| 
      
 895 
     | 
    
         
            +
            					// strict-comparing two documents; shallow comparisons work.
         
     | 
| 
      
 896 
     | 
    
         
            +
            					// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 897 
     | 
    
         
            +
            					if ( newContext != context || !support.scope ) {
         
     | 
| 
       862 
898 
     | 
    
         | 
| 
       863 
899 
     | 
    
         
             
            						// Capture the context ID, setting it first if necessary
         
     | 
| 
       864 
900 
     | 
    
         
             
            						if ( ( nid = context.getAttribute( "id" ) ) ) {
         
     | 
| 
       865 
     | 
    
         
            -
            							nid =  
     | 
| 
      
 901 
     | 
    
         
            +
            							nid = jQuery.escapeSelector( nid );
         
     | 
| 
       866 
902 
     | 
    
         
             
            						} else {
         
     | 
| 
       867 
903 
     | 
    
         
             
            							context.setAttribute( "id", ( nid = expando ) );
         
     | 
| 
       868 
904 
     | 
    
         
             
            						}
         
     | 
| 
         @@ -895,7 +931,7 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       895 
931 
     | 
    
         
             
            	}
         
     | 
| 
       896 
932 
     | 
    
         | 
| 
       897 
933 
     | 
    
         
             
            	// All others
         
     | 
| 
       898 
     | 
    
         
            -
            	return select( selector.replace(  
     | 
| 
      
 934 
     | 
    
         
            +
            	return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
         
     | 
| 
       899 
935 
     | 
    
         
             
            }
         
     | 
| 
       900 
936 
     | 
    
         | 
| 
       901 
937 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -909,7 +945,8 @@ function createCache() { 
     | 
|
| 
       909 
945 
     | 
    
         | 
| 
       910 
946 
     | 
    
         
             
            	function cache( key, value ) {
         
     | 
| 
       911 
947 
     | 
    
         | 
| 
       912 
     | 
    
         
            -
            		// Use (key + " ") to avoid collision with native prototype properties 
     | 
| 
      
 948 
     | 
    
         
            +
            		// Use (key + " ") to avoid collision with native prototype properties
         
     | 
| 
      
 949 
     | 
    
         
            +
            		// (see https://github.com/jquery/sizzle/issues/157)
         
     | 
| 
       913 
950 
     | 
    
         
             
            		if ( keys.push( key + " " ) > Expr.cacheLength ) {
         
     | 
| 
       914 
951 
     | 
    
         | 
| 
       915 
952 
     | 
    
         
             
            			// Only keep the most recent entries
         
     | 
| 
         @@ -921,7 +958,7 @@ function createCache() { 
     | 
|
| 
       921 
958 
     | 
    
         
             
            }
         
     | 
| 
       922 
959 
     | 
    
         | 
| 
       923 
960 
     | 
    
         
             
            /**
         
     | 
| 
       924 
     | 
    
         
            -
             * Mark a function for special use by  
     | 
| 
      
 961 
     | 
    
         
            +
             * Mark a function for special use by jQuery selector module
         
     | 
| 
       925 
962 
     | 
    
         
             
             * @param {Function} fn The function to mark
         
     | 
| 
       926 
963 
     | 
    
         
             
             */
         
     | 
| 
       927 
964 
     | 
    
         
             
            function markFunction( fn ) {
         
     | 
| 
         @@ -952,56 +989,13 @@ function assert( fn ) { 
     | 
|
| 
       952 
989 
     | 
    
         
             
            	}
         
     | 
| 
       953 
990 
     | 
    
         
             
            }
         
     | 
| 
       954 
991 
     | 
    
         | 
| 
       955 
     | 
    
         
            -
            /**
         
     | 
| 
       956 
     | 
    
         
            -
             * Adds the same handler for all of the specified attrs
         
     | 
| 
       957 
     | 
    
         
            -
             * @param {String} attrs Pipe-separated list of attributes
         
     | 
| 
       958 
     | 
    
         
            -
             * @param {Function} handler The method that will be applied
         
     | 
| 
       959 
     | 
    
         
            -
             */
         
     | 
| 
       960 
     | 
    
         
            -
            function addHandle( attrs, handler ) {
         
     | 
| 
       961 
     | 
    
         
            -
            	var arr = attrs.split( "|" ),
         
     | 
| 
       962 
     | 
    
         
            -
            		i = arr.length;
         
     | 
| 
       963 
     | 
    
         
            -
             
     | 
| 
       964 
     | 
    
         
            -
            	while ( i-- ) {
         
     | 
| 
       965 
     | 
    
         
            -
            		Expr.attrHandle[ arr[ i ] ] = handler;
         
     | 
| 
       966 
     | 
    
         
            -
            	}
         
     | 
| 
       967 
     | 
    
         
            -
            }
         
     | 
| 
       968 
     | 
    
         
            -
             
     | 
| 
       969 
     | 
    
         
            -
            /**
         
     | 
| 
       970 
     | 
    
         
            -
             * Checks document order of two siblings
         
     | 
| 
       971 
     | 
    
         
            -
             * @param {Element} a
         
     | 
| 
       972 
     | 
    
         
            -
             * @param {Element} b
         
     | 
| 
       973 
     | 
    
         
            -
             * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
         
     | 
| 
       974 
     | 
    
         
            -
             */
         
     | 
| 
       975 
     | 
    
         
            -
            function siblingCheck( a, b ) {
         
     | 
| 
       976 
     | 
    
         
            -
            	var cur = b && a,
         
     | 
| 
       977 
     | 
    
         
            -
            		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
         
     | 
| 
       978 
     | 
    
         
            -
            			a.sourceIndex - b.sourceIndex;
         
     | 
| 
       979 
     | 
    
         
            -
             
     | 
| 
       980 
     | 
    
         
            -
            	// Use IE sourceIndex if available on both nodes
         
     | 
| 
       981 
     | 
    
         
            -
            	if ( diff ) {
         
     | 
| 
       982 
     | 
    
         
            -
            		return diff;
         
     | 
| 
       983 
     | 
    
         
            -
            	}
         
     | 
| 
       984 
     | 
    
         
            -
             
     | 
| 
       985 
     | 
    
         
            -
            	// Check if b follows a
         
     | 
| 
       986 
     | 
    
         
            -
            	if ( cur ) {
         
     | 
| 
       987 
     | 
    
         
            -
            		while ( ( cur = cur.nextSibling ) ) {
         
     | 
| 
       988 
     | 
    
         
            -
            			if ( cur === b ) {
         
     | 
| 
       989 
     | 
    
         
            -
            				return -1;
         
     | 
| 
       990 
     | 
    
         
            -
            			}
         
     | 
| 
       991 
     | 
    
         
            -
            		}
         
     | 
| 
       992 
     | 
    
         
            -
            	}
         
     | 
| 
       993 
     | 
    
         
            -
             
     | 
| 
       994 
     | 
    
         
            -
            	return a ? 1 : -1;
         
     | 
| 
       995 
     | 
    
         
            -
            }
         
     | 
| 
       996 
     | 
    
         
            -
             
     | 
| 
       997 
992 
     | 
    
         
             
            /**
         
     | 
| 
       998 
993 
     | 
    
         
             
             * Returns a function to use in pseudos for input types
         
     | 
| 
       999 
994 
     | 
    
         
             
             * @param {String} type
         
     | 
| 
       1000 
995 
     | 
    
         
             
             */
         
     | 
| 
       1001 
996 
     | 
    
         
             
            function createInputPseudo( type ) {
         
     | 
| 
       1002 
997 
     | 
    
         
             
            	return function( elem ) {
         
     | 
| 
       1003 
     | 
    
         
            -
            		 
     | 
| 
       1004 
     | 
    
         
            -
            		return name === "input" && elem.type === type;
         
     | 
| 
      
 998 
     | 
    
         
            +
            		return nodeName( elem, "input" ) && elem.type === type;
         
     | 
| 
       1005 
999 
     | 
    
         
             
            	};
         
     | 
| 
       1006 
1000 
     | 
    
         
             
            }
         
     | 
| 
       1007 
1001 
     | 
    
         | 
| 
         @@ -1011,8 +1005,8 @@ function createInputPseudo( type ) { 
     | 
|
| 
       1011 
1005 
     | 
    
         
             
             */
         
     | 
| 
       1012 
1006 
     | 
    
         
             
            function createButtonPseudo( type ) {
         
     | 
| 
       1013 
1007 
     | 
    
         
             
            	return function( elem ) {
         
     | 
| 
       1014 
     | 
    
         
            -
            		 
     | 
| 
       1015 
     | 
    
         
            -
             
     | 
| 
      
 1008 
     | 
    
         
            +
            		return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
         
     | 
| 
      
 1009 
     | 
    
         
            +
            			elem.type === type;
         
     | 
| 
       1016 
1010 
     | 
    
         
             
            	};
         
     | 
| 
       1017 
1011 
     | 
    
         
             
            }
         
     | 
| 
       1018 
1012 
     | 
    
         | 
| 
         @@ -1048,14 +1042,13 @@ function createDisabledPseudo( disabled ) { 
     | 
|
| 
       1048 
1042 
     | 
    
         
             
            					}
         
     | 
| 
       1049 
1043 
     | 
    
         
             
            				}
         
     | 
| 
       1050 
1044 
     | 
    
         | 
| 
       1051 
     | 
    
         
            -
            				// Support: IE 6 - 11
         
     | 
| 
      
 1045 
     | 
    
         
            +
            				// Support: IE 6 - 11+
         
     | 
| 
       1052 
1046 
     | 
    
         
             
            				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
         
     | 
| 
       1053 
1047 
     | 
    
         
             
            				return elem.isDisabled === disabled ||
         
     | 
| 
       1054 
1048 
     | 
    
         | 
| 
       1055 
1049 
     | 
    
         
             
            					// Where there is no isDisabled, check manually
         
     | 
| 
       1056 
     | 
    
         
            -
            					/* jshint -W018 */
         
     | 
| 
       1057 
1050 
     | 
    
         
             
            					elem.isDisabled !== !disabled &&
         
     | 
| 
       1058 
     | 
    
         
            -
             
     | 
| 
      
 1051 
     | 
    
         
            +
            						inDisabledFieldset( elem ) === disabled;
         
     | 
| 
       1059 
1052 
     | 
    
         
             
            			}
         
     | 
| 
       1060 
1053 
     | 
    
         | 
| 
       1061 
1054 
     | 
    
         
             
            			return elem.disabled === disabled;
         
     | 
| 
         @@ -1095,7 +1088,7 @@ function createPositionalPseudo( fn ) { 
     | 
|
| 
       1095 
1088 
     | 
    
         
             
            }
         
     | 
| 
       1096 
1089 
     | 
    
         | 
| 
       1097 
1090 
     | 
    
         
             
            /**
         
     | 
| 
       1098 
     | 
    
         
            -
             * Checks a node for validity as a  
     | 
| 
      
 1091 
     | 
    
         
            +
             * Checks a node for validity as a jQuery selector context
         
     | 
| 
       1099 
1092 
     | 
    
         
             
             * @param {Element|Object=} context
         
     | 
| 
       1100 
1093 
     | 
    
         
             
             * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
         
     | 
| 
       1101 
1094 
     | 
    
         
             
             */
         
     | 
| 
         @@ -1103,31 +1096,13 @@ function testContext( context ) { 
     | 
|
| 
       1103 
1096 
     | 
    
         
             
            	return context && typeof context.getElementsByTagName !== "undefined" && context;
         
     | 
| 
       1104 
1097 
     | 
    
         
             
            }
         
     | 
| 
       1105 
1098 
     | 
    
         | 
| 
       1106 
     | 
    
         
            -
            // Expose support vars for convenience
         
     | 
| 
       1107 
     | 
    
         
            -
            support = Sizzle.support = {};
         
     | 
| 
       1108 
     | 
    
         
            -
             
     | 
| 
       1109 
     | 
    
         
            -
            /**
         
     | 
| 
       1110 
     | 
    
         
            -
             * Detects XML nodes
         
     | 
| 
       1111 
     | 
    
         
            -
             * @param {Element|Object} elem An element or a document
         
     | 
| 
       1112 
     | 
    
         
            -
             * @returns {Boolean} True iff elem is a non-HTML XML node
         
     | 
| 
       1113 
     | 
    
         
            -
             */
         
     | 
| 
       1114 
     | 
    
         
            -
            isXML = Sizzle.isXML = function( elem ) {
         
     | 
| 
       1115 
     | 
    
         
            -
            	var namespace = elem && elem.namespaceURI,
         
     | 
| 
       1116 
     | 
    
         
            -
            		docElem = elem && ( elem.ownerDocument || elem ).documentElement;
         
     | 
| 
       1117 
     | 
    
         
            -
             
     | 
| 
       1118 
     | 
    
         
            -
            	// Support: IE <=8
         
     | 
| 
       1119 
     | 
    
         
            -
            	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
         
     | 
| 
       1120 
     | 
    
         
            -
            	// https://bugs.jquery.com/ticket/4833
         
     | 
| 
       1121 
     | 
    
         
            -
            	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
         
     | 
| 
       1122 
     | 
    
         
            -
            };
         
     | 
| 
       1123 
     | 
    
         
            -
             
     | 
| 
       1124 
1099 
     | 
    
         
             
            /**
         
     | 
| 
       1125 
1100 
     | 
    
         
             
             * Sets document-related variables once based on the current document
         
     | 
| 
       1126 
     | 
    
         
            -
             * @param {Element|Object} [ 
     | 
| 
      
 1101 
     | 
    
         
            +
             * @param {Element|Object} [node] An element or document object to use to set the document
         
     | 
| 
       1127 
1102 
     | 
    
         
             
             * @returns {Object} Returns the current document
         
     | 
| 
       1128 
1103 
     | 
    
         
             
             */
         
     | 
| 
       1129 
     | 
    
         
            -
             
     | 
| 
       1130 
     | 
    
         
            -
            	var  
     | 
| 
      
 1104 
     | 
    
         
            +
            function setDocument( node ) {
         
     | 
| 
      
 1105 
     | 
    
         
            +
            	var subWindow,
         
     | 
| 
       1131 
1106 
     | 
    
         
             
            		doc = node ? node.ownerDocument || node : preferredDoc;
         
     | 
| 
       1132 
1107 
     | 
    
         | 
| 
       1133 
1108 
     | 
    
         
             
            	// Return early if doc is invalid or already selected
         
     | 
| 
         @@ -1141,11 +1116,17 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1141 
1116 
     | 
    
         | 
| 
       1142 
1117 
     | 
    
         
             
            	// Update global variables
         
     | 
| 
       1143 
1118 
     | 
    
         
             
            	document = doc;
         
     | 
| 
       1144 
     | 
    
         
            -
            	 
     | 
| 
       1145 
     | 
    
         
            -
            	documentIsHTML = ! 
     | 
| 
      
 1119 
     | 
    
         
            +
            	documentElement = document.documentElement;
         
     | 
| 
      
 1120 
     | 
    
         
            +
            	documentIsHTML = !jQuery.isXMLDoc( document );
         
     | 
| 
      
 1121 
     | 
    
         
            +
             
     | 
| 
      
 1122 
     | 
    
         
            +
            	// Support: iOS 7 only, IE 9 - 11+
         
     | 
| 
      
 1123 
     | 
    
         
            +
            	// Older browsers didn't support unprefixed `matches`.
         
     | 
| 
      
 1124 
     | 
    
         
            +
            	matches = documentElement.matches ||
         
     | 
| 
      
 1125 
     | 
    
         
            +
            		documentElement.webkitMatchesSelector ||
         
     | 
| 
      
 1126 
     | 
    
         
            +
            		documentElement.msMatchesSelector;
         
     | 
| 
       1146 
1127 
     | 
    
         | 
| 
       1147 
1128 
     | 
    
         
             
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
       1148 
     | 
    
         
            -
            	// Accessing iframe documents after unload throws "permission denied" errors ( 
     | 
| 
      
 1129 
     | 
    
         
            +
            	// Accessing iframe documents after unload throws "permission denied" errors (see trac-13936)
         
     | 
| 
       1149 
1130 
     | 
    
         
             
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
       1150 
1131 
     | 
    
         
             
            	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
       1151 
1132 
     | 
    
         
             
            	// two documents; shallow comparisons work.
         
     | 
| 
         @@ -1153,75 +1134,67 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1153 
1134 
     | 
    
         
             
            	if ( preferredDoc != document &&
         
     | 
| 
       1154 
1135 
     | 
    
         
             
            		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
         
     | 
| 
       1155 
1136 
     | 
    
         | 
| 
       1156 
     | 
    
         
            -
            		// Support: IE 11 
     | 
| 
       1157 
     | 
    
         
            -
            		 
     | 
| 
       1158 
     | 
    
         
            -
            			subWindow.addEventListener( "unload", unloadHandler, false );
         
     | 
| 
       1159 
     | 
    
         
            -
             
     | 
| 
       1160 
     | 
    
         
            -
            		// Support: IE 9 - 10 only
         
     | 
| 
       1161 
     | 
    
         
            -
            		} else if ( subWindow.attachEvent ) {
         
     | 
| 
       1162 
     | 
    
         
            -
            			subWindow.attachEvent( "onunload", unloadHandler );
         
     | 
| 
       1163 
     | 
    
         
            -
            		}
         
     | 
| 
      
 1137 
     | 
    
         
            +
            		// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
      
 1138 
     | 
    
         
            +
            		subWindow.addEventListener( "unload", unloadHandler );
         
     | 
| 
       1164 
1139 
     | 
    
         
             
            	}
         
     | 
| 
       1165 
1140 
     | 
    
         | 
| 
       1166 
     | 
    
         
            -
            	// Support: IE  
     | 
| 
       1167 
     | 
    
         
            -
            	//  
     | 
| 
       1168 
     | 
    
         
            -
            	//  
     | 
| 
       1169 
     | 
    
         
            -
            	//  
     | 
| 
       1170 
     | 
    
         
            -
            	 
     | 
| 
       1171 
     | 
    
         
            -
             
     | 
| 
       1172 
     | 
    
         
            -
            		 
     | 
| 
       1173 
     | 
    
         
            -
             
     | 
| 
       1174 
     | 
    
         
            -
            			!el.querySelectorAll( ":scope fieldset div" ).length;
         
     | 
| 
      
 1141 
     | 
    
         
            +
            	// Support: IE <10
         
     | 
| 
      
 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 
     | 
    
         
            +
            		documentElement.appendChild( el ).id = jQuery.expando;
         
     | 
| 
      
 1147 
     | 
    
         
            +
            		return !document.getElementsByName ||
         
     | 
| 
      
 1148 
     | 
    
         
            +
            			!document.getElementsByName( jQuery.expando ).length;
         
     | 
| 
       1175 
1149 
     | 
    
         
             
            	} );
         
     | 
| 
       1176 
1150 
     | 
    
         | 
| 
       1177 
     | 
    
         
            -
            	 
     | 
| 
       1178 
     | 
    
         
            -
            	 
     | 
| 
       1179 
     | 
    
         
            -
             
     | 
| 
       1180 
     | 
    
         
            -
            	 
     | 
| 
       1181 
     | 
    
         
            -
             
     | 
| 
       1182 
     | 
    
         
            -
            	// (excepting IE8 booleans)
         
     | 
| 
       1183 
     | 
    
         
            -
            	support.attributes = assert( function( el ) {
         
     | 
| 
       1184 
     | 
    
         
            -
            		el.className = "i";
         
     | 
| 
       1185 
     | 
    
         
            -
            		return !el.getAttribute( "className" );
         
     | 
| 
      
 1151 
     | 
    
         
            +
            	// Support: IE 9 only
         
     | 
| 
      
 1152 
     | 
    
         
            +
            	// Check to see if it's possible to do matchesSelector
         
     | 
| 
      
 1153 
     | 
    
         
            +
            	// on a disconnected node.
         
     | 
| 
      
 1154 
     | 
    
         
            +
            	support.disconnectedMatch = assert( function( el ) {
         
     | 
| 
      
 1155 
     | 
    
         
            +
            		return matches.call( el, "*" );
         
     | 
| 
       1186 
1156 
     | 
    
         
             
            	} );
         
     | 
| 
       1187 
1157 
     | 
    
         | 
| 
       1188 
     | 
    
         
            -
            	 
     | 
| 
       1189 
     | 
    
         
            -
            	 
     | 
| 
       1190 
     | 
    
         
            -
             
     | 
| 
       1191 
     | 
    
         
            -
             
     | 
| 
       1192 
     | 
    
         
            -
            	support.getElementsByTagName = assert( function( el ) {
         
     | 
| 
       1193 
     | 
    
         
            -
            		el.appendChild( document.createComment( "" ) );
         
     | 
| 
       1194 
     | 
    
         
            -
            		return !el.getElementsByTagName( "*" ).length;
         
     | 
| 
      
 1158 
     | 
    
         
            +
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
      
 1159 
     | 
    
         
            +
            	// IE/Edge don't support the :scope pseudo-class.
         
     | 
| 
      
 1160 
     | 
    
         
            +
            	support.scope = assert( function() {
         
     | 
| 
      
 1161 
     | 
    
         
            +
            		return document.querySelectorAll( ":scope" );
         
     | 
| 
       1195 
1162 
     | 
    
         
             
            	} );
         
     | 
| 
       1196 
1163 
     | 
    
         | 
| 
       1197 
     | 
    
         
            -
            	// Support:  
     | 
| 
       1198 
     | 
    
         
            -
            	 
     | 
| 
       1199 
     | 
    
         
            -
             
     | 
| 
       1200 
     | 
    
         
            -
            	//  
     | 
| 
       1201 
     | 
    
         
            -
            	//  
     | 
| 
       1202 
     | 
    
         
            -
            	//  
     | 
| 
       1203 
     | 
    
         
            -
            	//  
     | 
| 
       1204 
     | 
    
         
            -
            	 
     | 
| 
       1205 
     | 
    
         
            -
             
     | 
| 
       1206 
     | 
    
         
            -
             
     | 
| 
      
 1164 
     | 
    
         
            +
            	// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
         
     | 
| 
      
 1165 
     | 
    
         
            +
            	// Make sure the `:has()` argument is parsed unforgivingly.
         
     | 
| 
      
 1166 
     | 
    
         
            +
            	// We include `*` in the test to detect buggy implementations that are
         
     | 
| 
      
 1167 
     | 
    
         
            +
            	// _selectively_ forgiving (specifically when the list includes at least
         
     | 
| 
      
 1168 
     | 
    
         
            +
            	// one valid selector).
         
     | 
| 
      
 1169 
     | 
    
         
            +
            	// Note that we treat complete lack of support for `:has()` as if it were
         
     | 
| 
      
 1170 
     | 
    
         
            +
            	// spec-compliant support, which is fine because use of `:has()` in such
         
     | 
| 
      
 1171 
     | 
    
         
            +
            	// environments will fail in the qSA path and fall back to jQuery traversal
         
     | 
| 
      
 1172 
     | 
    
         
            +
            	// anyway.
         
     | 
| 
      
 1173 
     | 
    
         
            +
            	support.cssHas = assert( function() {
         
     | 
| 
      
 1174 
     | 
    
         
            +
            		try {
         
     | 
| 
      
 1175 
     | 
    
         
            +
            			document.querySelector( ":has(*,:jqfake)" );
         
     | 
| 
      
 1176 
     | 
    
         
            +
            			return false;
         
     | 
| 
      
 1177 
     | 
    
         
            +
            		} catch ( e ) {
         
     | 
| 
      
 1178 
     | 
    
         
            +
            			return true;
         
     | 
| 
      
 1179 
     | 
    
         
            +
            		}
         
     | 
| 
       1207 
1180 
     | 
    
         
             
            	} );
         
     | 
| 
       1208 
1181 
     | 
    
         | 
| 
       1209 
1182 
     | 
    
         
             
            	// ID filter and find
         
     | 
| 
       1210 
1183 
     | 
    
         
             
            	if ( support.getById ) {
         
     | 
| 
       1211 
     | 
    
         
            -
            		Expr.filter 
     | 
| 
      
 1184 
     | 
    
         
            +
            		Expr.filter.ID = function( id ) {
         
     | 
| 
       1212 
1185 
     | 
    
         
             
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
       1213 
1186 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1214 
1187 
     | 
    
         
             
            				return elem.getAttribute( "id" ) === attrId;
         
     | 
| 
       1215 
1188 
     | 
    
         
             
            			};
         
     | 
| 
       1216 
1189 
     | 
    
         
             
            		};
         
     | 
| 
       1217 
     | 
    
         
            -
            		Expr.find 
     | 
| 
      
 1190 
     | 
    
         
            +
            		Expr.find.ID = function( id, context ) {
         
     | 
| 
       1218 
1191 
     | 
    
         
             
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1219 
1192 
     | 
    
         
             
            				var elem = context.getElementById( id );
         
     | 
| 
       1220 
1193 
     | 
    
         
             
            				return elem ? [ elem ] : [];
         
     | 
| 
       1221 
1194 
     | 
    
         
             
            			}
         
     | 
| 
       1222 
1195 
     | 
    
         
             
            		};
         
     | 
| 
       1223 
1196 
     | 
    
         
             
            	} else {
         
     | 
| 
       1224 
     | 
    
         
            -
            		Expr.filter 
     | 
| 
      
 1197 
     | 
    
         
            +
            		Expr.filter.ID =  function( id ) {
         
     | 
| 
       1225 
1198 
     | 
    
         
             
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
       1226 
1199 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1227 
1200 
     | 
    
         
             
            				var node = typeof elem.getAttributeNode !== "undefined" &&
         
     | 
| 
         @@ -1232,7 +1205,7 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1232 
1205 
     | 
    
         | 
| 
       1233 
1206 
     | 
    
         
             
            		// Support: IE 6 - 7 only
         
     | 
| 
       1234 
1207 
     | 
    
         
             
            		// getElementById is not reliable as a find shortcut
         
     | 
| 
       1235 
     | 
    
         
            -
            		Expr.find 
     | 
| 
      
 1208 
     | 
    
         
            +
            		Expr.find.ID = function( id, context ) {
         
     | 
| 
       1236 
1209 
     | 
    
         
             
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1237 
1210 
     | 
    
         
             
            				var node, i, elems,
         
     | 
| 
       1238 
1211 
     | 
    
         
             
            					elem = context.getElementById( id );
         
     | 
| 
         @@ -1262,40 +1235,18 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1262 
1235 
     | 
    
         
             
            	}
         
     | 
| 
       1263 
1236 
     | 
    
         | 
| 
       1264 
1237 
     | 
    
         
             
            	// Tag
         
     | 
| 
       1265 
     | 
    
         
            -
            	Expr.find 
     | 
| 
       1266 
     | 
    
         
            -
            		 
     | 
| 
       1267 
     | 
    
         
            -
            			 
     | 
| 
       1268 
     | 
    
         
            -
            				return context.getElementsByTagName( tag );
         
     | 
| 
      
 1238 
     | 
    
         
            +
            	Expr.find.TAG = function( tag, context ) {
         
     | 
| 
      
 1239 
     | 
    
         
            +
            		if ( typeof context.getElementsByTagName !== "undefined" ) {
         
     | 
| 
      
 1240 
     | 
    
         
            +
            			return context.getElementsByTagName( tag );
         
     | 
| 
       1269 
1241 
     | 
    
         | 
| 
       1270 
     | 
    
         
            -
             
     | 
| 
       1271 
     | 
    
         
            -
             
     | 
| 
       1272 
     | 
    
         
            -
             
     | 
| 
       1273 
     | 
    
         
            -
             
     | 
| 
       1274 
     | 
    
         
            -
             
     | 
| 
       1275 
     | 
    
         
            -
             
     | 
| 
       1276 
     | 
    
         
            -
            		function( tag, context ) {
         
     | 
| 
       1277 
     | 
    
         
            -
            			var elem,
         
     | 
| 
       1278 
     | 
    
         
            -
            				tmp = [],
         
     | 
| 
       1279 
     | 
    
         
            -
            				i = 0,
         
     | 
| 
       1280 
     | 
    
         
            -
             
     | 
| 
       1281 
     | 
    
         
            -
            				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
         
     | 
| 
       1282 
     | 
    
         
            -
            				results = context.getElementsByTagName( tag );
         
     | 
| 
       1283 
     | 
    
         
            -
             
     | 
| 
       1284 
     | 
    
         
            -
            			// Filter out possible comments
         
     | 
| 
       1285 
     | 
    
         
            -
            			if ( tag === "*" ) {
         
     | 
| 
       1286 
     | 
    
         
            -
            				while ( ( elem = results[ i++ ] ) ) {
         
     | 
| 
       1287 
     | 
    
         
            -
            					if ( elem.nodeType === 1 ) {
         
     | 
| 
       1288 
     | 
    
         
            -
            						tmp.push( elem );
         
     | 
| 
       1289 
     | 
    
         
            -
            					}
         
     | 
| 
       1290 
     | 
    
         
            -
            				}
         
     | 
| 
       1291 
     | 
    
         
            -
             
     | 
| 
       1292 
     | 
    
         
            -
            				return tmp;
         
     | 
| 
       1293 
     | 
    
         
            -
            			}
         
     | 
| 
       1294 
     | 
    
         
            -
            			return results;
         
     | 
| 
       1295 
     | 
    
         
            -
            		};
         
     | 
| 
      
 1242 
     | 
    
         
            +
            		// DocumentFragment nodes don't have gEBTN
         
     | 
| 
      
 1243 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 1244 
     | 
    
         
            +
            			return context.querySelectorAll( tag );
         
     | 
| 
      
 1245 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1246 
     | 
    
         
            +
            	};
         
     | 
| 
       1296 
1247 
     | 
    
         | 
| 
       1297 
1248 
     | 
    
         
             
            	// Class
         
     | 
| 
       1298 
     | 
    
         
            -
            	Expr.find 
     | 
| 
      
 1249 
     | 
    
         
            +
            	Expr.find.CLASS = function( className, context ) {
         
     | 
| 
       1299 
1250 
     | 
    
         
             
            		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1300 
1251 
     | 
    
         
             
            			return context.getElementsByClassName( className );
         
     | 
| 
       1301 
1252 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -1306,177 +1257,94 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1306 
1257 
     | 
    
         | 
| 
       1307 
1258 
     | 
    
         
             
            	// QSA and matchesSelector support
         
     | 
| 
       1308 
1259 
     | 
    
         | 
| 
       1309 
     | 
    
         
            -
            	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
         
     | 
| 
       1310 
     | 
    
         
            -
            	rbuggyMatches = [];
         
     | 
| 
       1311 
     | 
    
         
            -
             
     | 
| 
       1312 
     | 
    
         
            -
            	// qSa(:focus) reports false when true (Chrome 21)
         
     | 
| 
       1313 
     | 
    
         
            -
            	// We allow this because of a bug in IE8/9 that throws an error
         
     | 
| 
       1314 
     | 
    
         
            -
            	// whenever `document.activeElement` is accessed on an iframe
         
     | 
| 
       1315 
     | 
    
         
            -
            	// So, we allow :focus to pass through QSA all the time to avoid the IE error
         
     | 
| 
       1316 
     | 
    
         
            -
            	// See https://bugs.jquery.com/ticket/13378
         
     | 
| 
       1317 
1260 
     | 
    
         
             
            	rbuggyQSA = [];
         
     | 
| 
       1318 
1261 
     | 
    
         | 
| 
       1319 
     | 
    
         
            -
            	 
     | 
| 
       1320 
     | 
    
         
            -
             
     | 
| 
       1321 
     | 
    
         
            -
             
     | 
| 
       1322 
     | 
    
         
            -
            		// Regex strategy adopted from Diego Perini
         
     | 
| 
       1323 
     | 
    
         
            -
            		assert( function( el ) {
         
     | 
| 
       1324 
     | 
    
         
            -
             
     | 
| 
       1325 
     | 
    
         
            -
            			var input;
         
     | 
| 
       1326 
     | 
    
         
            -
             
     | 
| 
       1327 
     | 
    
         
            -
            			// Select is set to empty string on purpose
         
     | 
| 
       1328 
     | 
    
         
            -
            			// This is to test IE's treatment of not explicitly
         
     | 
| 
       1329 
     | 
    
         
            -
            			// setting a boolean content attribute,
         
     | 
| 
       1330 
     | 
    
         
            -
            			// since its presence should be enough
         
     | 
| 
       1331 
     | 
    
         
            -
            			// https://bugs.jquery.com/ticket/12359
         
     | 
| 
       1332 
     | 
    
         
            -
            			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
         
     | 
| 
       1333 
     | 
    
         
            -
            				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
         
     | 
| 
       1334 
     | 
    
         
            -
            				"<option selected=''></option></select>";
         
     | 
| 
       1335 
     | 
    
         
            -
             
     | 
| 
       1336 
     | 
    
         
            -
            			// Support: IE8, Opera 11-12.16
         
     | 
| 
       1337 
     | 
    
         
            -
            			// Nothing should be selected when empty strings follow ^= or $= or *=
         
     | 
| 
       1338 
     | 
    
         
            -
            			// The test attribute must be unknown in Opera but "safe" for WinRT
         
     | 
| 
       1339 
     | 
    
         
            -
            			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
         
     | 
| 
       1340 
     | 
    
         
            -
            			if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
         
     | 
| 
       1341 
     | 
    
         
            -
            				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
         
     | 
| 
       1342 
     | 
    
         
            -
            			}
         
     | 
| 
       1343 
     | 
    
         
            -
             
     | 
| 
       1344 
     | 
    
         
            -
            			// Support: IE8
         
     | 
| 
       1345 
     | 
    
         
            -
            			// Boolean attributes and "value" are not treated correctly
         
     | 
| 
       1346 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "[selected]" ).length ) {
         
     | 
| 
       1347 
     | 
    
         
            -
            				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
         
     | 
| 
       1348 
     | 
    
         
            -
            			}
         
     | 
| 
       1349 
     | 
    
         
            -
             
     | 
| 
       1350 
     | 
    
         
            -
            			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
         
     | 
| 
       1351 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
         
     | 
| 
       1352 
     | 
    
         
            -
            				rbuggyQSA.push( "~=" );
         
     | 
| 
       1353 
     | 
    
         
            -
            			}
         
     | 
| 
       1354 
     | 
    
         
            -
             
     | 
| 
       1355 
     | 
    
         
            -
            			// Support: IE 11+, Edge 15 - 18+
         
     | 
| 
       1356 
     | 
    
         
            -
            			// IE 11/Edge don't find elements on a `[name='']` query in some cases.
         
     | 
| 
       1357 
     | 
    
         
            -
            			// Adding a temporary attribute to the document before the selection works
         
     | 
| 
       1358 
     | 
    
         
            -
            			// around the issue.
         
     | 
| 
       1359 
     | 
    
         
            -
            			// Interestingly, IE 10 & older don't seem to have the issue.
         
     | 
| 
       1360 
     | 
    
         
            -
            			input = document.createElement( "input" );
         
     | 
| 
       1361 
     | 
    
         
            -
            			input.setAttribute( "name", "" );
         
     | 
| 
       1362 
     | 
    
         
            -
            			el.appendChild( input );
         
     | 
| 
       1363 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "[name='']" ).length ) {
         
     | 
| 
       1364 
     | 
    
         
            -
            				rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
         
     | 
| 
       1365 
     | 
    
         
            -
            					whitespace + "*(?:''|\"\")" );
         
     | 
| 
       1366 
     | 
    
         
            -
            			}
         
     | 
| 
       1367 
     | 
    
         
            -
             
     | 
| 
       1368 
     | 
    
         
            -
            			// Webkit/Opera - :checked should return selected option elements
         
     | 
| 
       1369 
     | 
    
         
            -
            			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
       1370 
     | 
    
         
            -
            			// IE8 throws error here and will not see later tests
         
     | 
| 
       1371 
     | 
    
         
            -
            			if ( !el.querySelectorAll( ":checked" ).length ) {
         
     | 
| 
       1372 
     | 
    
         
            -
            				rbuggyQSA.push( ":checked" );
         
     | 
| 
       1373 
     | 
    
         
            -
            			}
         
     | 
| 
       1374 
     | 
    
         
            -
             
     | 
| 
       1375 
     | 
    
         
            -
            			// Support: Safari 8+, iOS 8+
         
     | 
| 
       1376 
     | 
    
         
            -
            			// https://bugs.webkit.org/show_bug.cgi?id=136851
         
     | 
| 
       1377 
     | 
    
         
            -
            			// In-page `selector#id sibling-combinator selector` fails
         
     | 
| 
       1378 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
         
     | 
| 
       1379 
     | 
    
         
            -
            				rbuggyQSA.push( ".#.+[+~]" );
         
     | 
| 
       1380 
     | 
    
         
            -
            			}
         
     | 
| 
       1381 
     | 
    
         
            -
             
     | 
| 
       1382 
     | 
    
         
            -
            			// Support: Firefox <=3.6 - 5 only
         
     | 
| 
       1383 
     | 
    
         
            -
            			// Old Firefox doesn't throw on a badly-escaped identifier.
         
     | 
| 
       1384 
     | 
    
         
            -
            			el.querySelectorAll( "\\\f" );
         
     | 
| 
       1385 
     | 
    
         
            -
            			rbuggyQSA.push( "[\\r\\n\\f]" );
         
     | 
| 
       1386 
     | 
    
         
            -
            		} );
         
     | 
| 
       1387 
     | 
    
         
            -
             
     | 
| 
       1388 
     | 
    
         
            -
            		assert( function( el ) {
         
     | 
| 
       1389 
     | 
    
         
            -
            			el.innerHTML = "<a href='' disabled='disabled'></a>" +
         
     | 
| 
       1390 
     | 
    
         
            -
            				"<select disabled='disabled'><option/></select>";
         
     | 
| 
      
 1262 
     | 
    
         
            +
            	// Build QSA regex
         
     | 
| 
      
 1263 
     | 
    
         
            +
            	// Regex strategy adopted from Diego Perini
         
     | 
| 
      
 1264 
     | 
    
         
            +
            	assert( function( el ) {
         
     | 
| 
       1391 
1265 
     | 
    
         | 
| 
       1392 
     | 
    
         
            -
             
     | 
| 
       1393 
     | 
    
         
            -
            			// The type and name attributes are restricted during .innerHTML assignment
         
     | 
| 
       1394 
     | 
    
         
            -
            			var input = document.createElement( "input" );
         
     | 
| 
       1395 
     | 
    
         
            -
            			input.setAttribute( "type", "hidden" );
         
     | 
| 
       1396 
     | 
    
         
            -
            			el.appendChild( input ).setAttribute( "name", "D" );
         
     | 
| 
      
 1266 
     | 
    
         
            +
            		var input;
         
     | 
| 
       1397 
1267 
     | 
    
         | 
| 
       1398 
     | 
    
         
            -
             
     | 
| 
       1399 
     | 
    
         
            -
            			 
     | 
| 
       1400 
     | 
    
         
            -
            			 
     | 
| 
       1401 
     | 
    
         
            -
             
     | 
| 
       1402 
     | 
    
         
            -
            			}
         
     | 
| 
      
 1268 
     | 
    
         
            +
            		documentElement.appendChild( el ).innerHTML =
         
     | 
| 
      
 1269 
     | 
    
         
            +
            			"<a id='" + expando + "' href='' disabled='disabled'></a>" +
         
     | 
| 
      
 1270 
     | 
    
         
            +
            			"<select id='" + expando + "-\r\\' disabled='disabled'>" +
         
     | 
| 
      
 1271 
     | 
    
         
            +
            			"<option selected=''></option></select>";
         
     | 
| 
       1403 
1272 
     | 
    
         | 
| 
       1404 
     | 
    
         
            -
             
     | 
| 
       1405 
     | 
    
         
            -
             
     | 
| 
       1406 
     | 
    
         
            -
             
     | 
| 
       1407 
     | 
    
         
            -
             
     | 
| 
       1408 
     | 
    
         
            -
             
     | 
| 
      
 1273 
     | 
    
         
            +
            		// Support: iOS <=7 - 8 only
         
     | 
| 
      
 1274 
     | 
    
         
            +
            		// Boolean attributes and "value" are not treated correctly in some XML documents
         
     | 
| 
      
 1275 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[selected]" ).length ) {
         
     | 
| 
      
 1276 
     | 
    
         
            +
            			rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
         
     | 
| 
      
 1277 
     | 
    
         
            +
            		}
         
     | 
| 
       1409 
1278 
     | 
    
         | 
| 
       1410 
     | 
    
         
            -
             
     | 
| 
       1411 
     | 
    
         
            -
             
     | 
| 
       1412 
     | 
    
         
            -
            			 
     | 
| 
       1413 
     | 
    
         
            -
             
     | 
| 
       1414 
     | 
    
         
            -
            				rbuggyQSA.push( ":enabled", ":disabled" );
         
     | 
| 
       1415 
     | 
    
         
            -
            			}
         
     | 
| 
      
 1279 
     | 
    
         
            +
            		// Support: iOS <=7 - 8 only
         
     | 
| 
      
 1280 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
         
     | 
| 
      
 1281 
     | 
    
         
            +
            			rbuggyQSA.push( "~=" );
         
     | 
| 
      
 1282 
     | 
    
         
            +
            		}
         
     | 
| 
       1416 
1283 
     | 
    
         | 
| 
       1417 
     | 
    
         
            -
             
     | 
| 
       1418 
     | 
    
         
            -
             
     | 
| 
       1419 
     | 
    
         
            -
             
     | 
| 
       1420 
     | 
    
         
            -
             
     | 
| 
       1421 
     | 
    
         
            -
             
     | 
| 
       1422 
     | 
    
         
            -
             
     | 
| 
      
 1284 
     | 
    
         
            +
            		// Support: iOS 8 only
         
     | 
| 
      
 1285 
     | 
    
         
            +
            		// https://bugs.webkit.org/show_bug.cgi?id=136851
         
     | 
| 
      
 1286 
     | 
    
         
            +
            		// In-page `selector#id sibling-combinator selector` fails
         
     | 
| 
      
 1287 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
         
     | 
| 
      
 1288 
     | 
    
         
            +
            			rbuggyQSA.push( ".#.+[+~]" );
         
     | 
| 
      
 1289 
     | 
    
         
            +
            		}
         
     | 
| 
       1423 
1290 
     | 
    
         | 
| 
       1424 
     | 
    
         
            -
             
     | 
| 
       1425 
     | 
    
         
            -
            		 
     | 
| 
       1426 
     | 
    
         
            -
            		 
     | 
| 
       1427 
     | 
    
         
            -
            		 
     | 
| 
       1428 
     | 
    
         
            -
            		 
     | 
| 
      
 1291 
     | 
    
         
            +
            		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
         
     | 
| 
      
 1292 
     | 
    
         
            +
            		// In some of the document kinds, these selectors wouldn't work natively.
         
     | 
| 
      
 1293 
     | 
    
         
            +
            		// This is probably OK but for backwards compatibility we want to maintain
         
     | 
| 
      
 1294 
     | 
    
         
            +
            		// handling them through jQuery traversal in jQuery 3.x.
         
     | 
| 
      
 1295 
     | 
    
         
            +
            		if ( !el.querySelectorAll( ":checked" ).length ) {
         
     | 
| 
      
 1296 
     | 
    
         
            +
            			rbuggyQSA.push( ":checked" );
         
     | 
| 
      
 1297 
     | 
    
         
            +
            		}
         
     | 
| 
       1429 
1298 
     | 
    
         | 
| 
       1430 
     | 
    
         
            -
            		 
     | 
| 
      
 1299 
     | 
    
         
            +
            		// Support: Windows 8 Native Apps
         
     | 
| 
      
 1300 
     | 
    
         
            +
            		// The type and name attributes are restricted during .innerHTML assignment
         
     | 
| 
      
 1301 
     | 
    
         
            +
            		input = document.createElement( "input" );
         
     | 
| 
      
 1302 
     | 
    
         
            +
            		input.setAttribute( "type", "hidden" );
         
     | 
| 
      
 1303 
     | 
    
         
            +
            		el.appendChild( input ).setAttribute( "name", "D" );
         
     | 
| 
      
 1304 
     | 
    
         
            +
             
     | 
| 
      
 1305 
     | 
    
         
            +
            		// Support: IE 9 - 11+
         
     | 
| 
      
 1306 
     | 
    
         
            +
            		// IE's :disabled selector does not pick up the children of disabled fieldsets
         
     | 
| 
      
 1307 
     | 
    
         
            +
            		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
         
     | 
| 
      
 1308 
     | 
    
         
            +
            		// In some of the document kinds, these selectors wouldn't work natively.
         
     | 
| 
      
 1309 
     | 
    
         
            +
            		// This is probably OK but for backwards compatibility we want to maintain
         
     | 
| 
      
 1310 
     | 
    
         
            +
            		// handling them through jQuery traversal in jQuery 3.x.
         
     | 
| 
      
 1311 
     | 
    
         
            +
            		documentElement.appendChild( el ).disabled = true;
         
     | 
| 
      
 1312 
     | 
    
         
            +
            		if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
         
     | 
| 
      
 1313 
     | 
    
         
            +
            			rbuggyQSA.push( ":enabled", ":disabled" );
         
     | 
| 
      
 1314 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1315 
     | 
    
         
            +
             
     | 
| 
      
 1316 
     | 
    
         
            +
            		// Support: IE 11+, Edge 15 - 18+
         
     | 
| 
      
 1317 
     | 
    
         
            +
            		// IE 11/Edge don't find elements on a `[name='']` query in some cases.
         
     | 
| 
      
 1318 
     | 
    
         
            +
            		// Adding a temporary attribute to the document before the selection works
         
     | 
| 
      
 1319 
     | 
    
         
            +
            		// around the issue.
         
     | 
| 
      
 1320 
     | 
    
         
            +
            		// Interestingly, IE 10 & older don't seem to have the issue.
         
     | 
| 
      
 1321 
     | 
    
         
            +
            		input = document.createElement( "input" );
         
     | 
| 
      
 1322 
     | 
    
         
            +
            		input.setAttribute( "name", "" );
         
     | 
| 
      
 1323 
     | 
    
         
            +
            		el.appendChild( input );
         
     | 
| 
      
 1324 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[name='']" ).length ) {
         
     | 
| 
      
 1325 
     | 
    
         
            +
            			rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
         
     | 
| 
      
 1326 
     | 
    
         
            +
            				whitespace + "*(?:''|\"\")" );
         
     | 
| 
      
 1327 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1328 
     | 
    
         
            +
            	} );
         
     | 
| 
       1431 
1329 
     | 
    
         | 
| 
       1432 
     | 
    
         
            -
             
     | 
| 
       1433 
     | 
    
         
            -
            			// on a disconnected node (IE 9)
         
     | 
| 
       1434 
     | 
    
         
            -
            			support.disconnectedMatch = matches.call( el, "*" );
         
     | 
| 
      
 1330 
     | 
    
         
            +
            	if ( !support.cssHas ) {
         
     | 
| 
       1435 
1331 
     | 
    
         | 
| 
       1436 
     | 
    
         
            -
             
     | 
| 
       1437 
     | 
    
         
            -
             
     | 
| 
       1438 
     | 
    
         
            -
             
     | 
| 
       1439 
     | 
    
         
            -
             
     | 
| 
       1440 
     | 
    
         
            -
            		 
     | 
| 
      
 1332 
     | 
    
         
            +
            		// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
         
     | 
| 
      
 1333 
     | 
    
         
            +
            		// Our regular `try-catch` mechanism fails to detect natively-unsupported
         
     | 
| 
      
 1334 
     | 
    
         
            +
            		// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
         
     | 
| 
      
 1335 
     | 
    
         
            +
            		// in browsers that parse the `:has()` argument as a forgiving selector list.
         
     | 
| 
      
 1336 
     | 
    
         
            +
            		// https://drafts.csswg.org/selectors/#relational now requires the argument
         
     | 
| 
      
 1337 
     | 
    
         
            +
            		// to be parsed unforgivingly, but browsers have not yet fully adjusted.
         
     | 
| 
      
 1338 
     | 
    
         
            +
            		rbuggyQSA.push( ":has" );
         
     | 
| 
       1441 
1339 
     | 
    
         
             
            	}
         
     | 
| 
       1442 
1340 
     | 
    
         | 
| 
       1443 
1341 
     | 
    
         
             
            	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
         
     | 
| 
       1444 
     | 
    
         
            -
            	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
         
     | 
| 
       1445 
     | 
    
         
            -
             
     | 
| 
       1446 
     | 
    
         
            -
            	/* Contains
         
     | 
| 
       1447 
     | 
    
         
            -
            	---------------------------------------------------------------------- */
         
     | 
| 
       1448 
     | 
    
         
            -
            	hasCompare = rnative.test( docElem.compareDocumentPosition );
         
     | 
| 
       1449 
     | 
    
         
            -
             
     | 
| 
       1450 
     | 
    
         
            -
            	// Element contains another
         
     | 
| 
       1451 
     | 
    
         
            -
            	// Purposefully self-exclusive
         
     | 
| 
       1452 
     | 
    
         
            -
            	// As in, an element does not contain itself
         
     | 
| 
       1453 
     | 
    
         
            -
            	contains = hasCompare || rnative.test( docElem.contains ) ?
         
     | 
| 
       1454 
     | 
    
         
            -
            		function( a, b ) {
         
     | 
| 
       1455 
     | 
    
         
            -
            			var adown = a.nodeType === 9 ? a.documentElement : a,
         
     | 
| 
       1456 
     | 
    
         
            -
            				bup = b && b.parentNode;
         
     | 
| 
       1457 
     | 
    
         
            -
            			return a === bup || !!( bup && bup.nodeType === 1 && (
         
     | 
| 
       1458 
     | 
    
         
            -
            				adown.contains ?
         
     | 
| 
       1459 
     | 
    
         
            -
            					adown.contains( bup ) :
         
     | 
| 
       1460 
     | 
    
         
            -
            					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
         
     | 
| 
       1461 
     | 
    
         
            -
            			) );
         
     | 
| 
       1462 
     | 
    
         
            -
            		} :
         
     | 
| 
       1463 
     | 
    
         
            -
            		function( a, b ) {
         
     | 
| 
       1464 
     | 
    
         
            -
            			if ( b ) {
         
     | 
| 
       1465 
     | 
    
         
            -
            				while ( ( b = b.parentNode ) ) {
         
     | 
| 
       1466 
     | 
    
         
            -
            					if ( b === a ) {
         
     | 
| 
       1467 
     | 
    
         
            -
            						return true;
         
     | 
| 
       1468 
     | 
    
         
            -
            					}
         
     | 
| 
       1469 
     | 
    
         
            -
            				}
         
     | 
| 
       1470 
     | 
    
         
            -
            			}
         
     | 
| 
       1471 
     | 
    
         
            -
            			return false;
         
     | 
| 
       1472 
     | 
    
         
            -
            		};
         
     | 
| 
       1473 
1342 
     | 
    
         | 
| 
       1474 
1343 
     | 
    
         
             
            	/* Sorting
         
     | 
| 
       1475 
1344 
     | 
    
         
             
            	---------------------------------------------------------------------- */
         
     | 
| 
       1476 
1345 
     | 
    
         | 
| 
       1477 
1346 
     | 
    
         
             
            	// Document order sorting
         
     | 
| 
       1478 
     | 
    
         
            -
            	sortOrder =  
     | 
| 
       1479 
     | 
    
         
            -
            	function( a, b ) {
         
     | 
| 
      
 1347 
     | 
    
         
            +
            	sortOrder = function( a, b ) {
         
     | 
| 
       1480 
1348 
     | 
    
         | 
| 
       1481 
1349 
     | 
    
         
             
            		// Flag for duplicate removal
         
     | 
| 
       1482 
1350 
     | 
    
         
             
            		if ( a === b ) {
         
     | 
| 
         @@ -1510,8 +1378,8 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1510 
1378 
     | 
    
         
             
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
       1511 
1379 
     | 
    
         
             
            			// two documents; shallow comparisons work.
         
     | 
| 
       1512 
1380 
     | 
    
         
             
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
       1513 
     | 
    
         
            -
            			if ( a  
     | 
| 
       1514 
     | 
    
         
            -
            				contains( preferredDoc, a ) ) {
         
     | 
| 
      
 1381 
     | 
    
         
            +
            			if ( a === document || a.ownerDocument == preferredDoc &&
         
     | 
| 
      
 1382 
     | 
    
         
            +
            				find.contains( preferredDoc, a ) ) {
         
     | 
| 
       1515 
1383 
     | 
    
         
             
            				return -1;
         
     | 
| 
       1516 
1384 
     | 
    
         
             
            			}
         
     | 
| 
       1517 
1385 
     | 
    
         | 
| 
         @@ -1519,100 +1387,33 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1519 
1387 
     | 
    
         
             
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
       1520 
1388 
     | 
    
         
             
            			// two documents; shallow comparisons work.
         
     | 
| 
       1521 
1389 
     | 
    
         
             
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
       1522 
     | 
    
         
            -
            			if ( b  
     | 
| 
       1523 
     | 
    
         
            -
            				contains( preferredDoc, b ) ) {
         
     | 
| 
      
 1390 
     | 
    
         
            +
            			if ( b === document || b.ownerDocument == preferredDoc &&
         
     | 
| 
      
 1391 
     | 
    
         
            +
            				find.contains( preferredDoc, b ) ) {
         
     | 
| 
       1524 
1392 
     | 
    
         
             
            				return 1;
         
     | 
| 
       1525 
1393 
     | 
    
         
             
            			}
         
     | 
| 
       1526 
1394 
     | 
    
         | 
| 
       1527 
1395 
     | 
    
         
             
            			// Maintain original order
         
     | 
| 
       1528 
1396 
     | 
    
         
             
            			return sortInput ?
         
     | 
| 
       1529 
     | 
    
         
            -
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
      
 1397 
     | 
    
         
            +
            				( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
         
     | 
| 
       1530 
1398 
     | 
    
         
             
            				0;
         
     | 
| 
       1531 
1399 
     | 
    
         
             
            		}
         
     | 
| 
       1532 
1400 
     | 
    
         | 
| 
       1533 
1401 
     | 
    
         
             
            		return compare & 4 ? -1 : 1;
         
     | 
| 
       1534 
     | 
    
         
            -
            	} :
         
     | 
| 
       1535 
     | 
    
         
            -
            	function( a, b ) {
         
     | 
| 
       1536 
     | 
    
         
            -
             
     | 
| 
       1537 
     | 
    
         
            -
            		// Exit early if the nodes are identical
         
     | 
| 
       1538 
     | 
    
         
            -
            		if ( a === b ) {
         
     | 
| 
       1539 
     | 
    
         
            -
            			hasDuplicate = true;
         
     | 
| 
       1540 
     | 
    
         
            -
            			return 0;
         
     | 
| 
       1541 
     | 
    
         
            -
            		}
         
     | 
| 
       1542 
     | 
    
         
            -
             
     | 
| 
       1543 
     | 
    
         
            -
            		var cur,
         
     | 
| 
       1544 
     | 
    
         
            -
            			i = 0,
         
     | 
| 
       1545 
     | 
    
         
            -
            			aup = a.parentNode,
         
     | 
| 
       1546 
     | 
    
         
            -
            			bup = b.parentNode,
         
     | 
| 
       1547 
     | 
    
         
            -
            			ap = [ a ],
         
     | 
| 
       1548 
     | 
    
         
            -
            			bp = [ b ];
         
     | 
| 
       1549 
     | 
    
         
            -
             
     | 
| 
       1550 
     | 
    
         
            -
            		// Parentless nodes are either documents or disconnected
         
     | 
| 
       1551 
     | 
    
         
            -
            		if ( !aup || !bup ) {
         
     | 
| 
       1552 
     | 
    
         
            -
             
     | 
| 
       1553 
     | 
    
         
            -
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
       1554 
     | 
    
         
            -
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
       1555 
     | 
    
         
            -
            			// two documents; shallow comparisons work.
         
     | 
| 
       1556 
     | 
    
         
            -
            			/* eslint-disable eqeqeq */
         
     | 
| 
       1557 
     | 
    
         
            -
            			return a == document ? -1 :
         
     | 
| 
       1558 
     | 
    
         
            -
            				b == document ? 1 :
         
     | 
| 
       1559 
     | 
    
         
            -
            				/* eslint-enable eqeqeq */
         
     | 
| 
       1560 
     | 
    
         
            -
            				aup ? -1 :
         
     | 
| 
       1561 
     | 
    
         
            -
            				bup ? 1 :
         
     | 
| 
       1562 
     | 
    
         
            -
            				sortInput ?
         
     | 
| 
       1563 
     | 
    
         
            -
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
       1564 
     | 
    
         
            -
            				0;
         
     | 
| 
       1565 
     | 
    
         
            -
             
     | 
| 
       1566 
     | 
    
         
            -
            		// If the nodes are siblings, we can do a quick check
         
     | 
| 
       1567 
     | 
    
         
            -
            		} else if ( aup === bup ) {
         
     | 
| 
       1568 
     | 
    
         
            -
            			return siblingCheck( a, b );
         
     | 
| 
       1569 
     | 
    
         
            -
            		}
         
     | 
| 
       1570 
     | 
    
         
            -
             
     | 
| 
       1571 
     | 
    
         
            -
            		// Otherwise we need full lists of their ancestors for comparison
         
     | 
| 
       1572 
     | 
    
         
            -
            		cur = a;
         
     | 
| 
       1573 
     | 
    
         
            -
            		while ( ( cur = cur.parentNode ) ) {
         
     | 
| 
       1574 
     | 
    
         
            -
            			ap.unshift( cur );
         
     | 
| 
       1575 
     | 
    
         
            -
            		}
         
     | 
| 
       1576 
     | 
    
         
            -
            		cur = b;
         
     | 
| 
       1577 
     | 
    
         
            -
            		while ( ( cur = cur.parentNode ) ) {
         
     | 
| 
       1578 
     | 
    
         
            -
            			bp.unshift( cur );
         
     | 
| 
       1579 
     | 
    
         
            -
            		}
         
     | 
| 
       1580 
     | 
    
         
            -
             
     | 
| 
       1581 
     | 
    
         
            -
            		// Walk down the tree looking for a discrepancy
         
     | 
| 
       1582 
     | 
    
         
            -
            		while ( ap[ i ] === bp[ i ] ) {
         
     | 
| 
       1583 
     | 
    
         
            -
            			i++;
         
     | 
| 
       1584 
     | 
    
         
            -
            		}
         
     | 
| 
       1585 
     | 
    
         
            -
             
     | 
| 
       1586 
     | 
    
         
            -
            		return i ?
         
     | 
| 
       1587 
     | 
    
         
            -
             
     | 
| 
       1588 
     | 
    
         
            -
            			// Do a sibling check if the nodes have a common ancestor
         
     | 
| 
       1589 
     | 
    
         
            -
            			siblingCheck( ap[ i ], bp[ i ] ) :
         
     | 
| 
       1590 
     | 
    
         
            -
             
     | 
| 
       1591 
     | 
    
         
            -
            			// Otherwise nodes in our document sort first
         
     | 
| 
       1592 
     | 
    
         
            -
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
       1593 
     | 
    
         
            -
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
       1594 
     | 
    
         
            -
            			// two documents; shallow comparisons work.
         
     | 
| 
       1595 
     | 
    
         
            -
            			/* eslint-disable eqeqeq */
         
     | 
| 
       1596 
     | 
    
         
            -
            			ap[ i ] == preferredDoc ? -1 :
         
     | 
| 
       1597 
     | 
    
         
            -
            			bp[ i ] == preferredDoc ? 1 :
         
     | 
| 
       1598 
     | 
    
         
            -
            			/* eslint-enable eqeqeq */
         
     | 
| 
       1599 
     | 
    
         
            -
            			0;
         
     | 
| 
       1600 
1402 
     | 
    
         
             
            	};
         
     | 
| 
       1601 
1403 
     | 
    
         | 
| 
       1602 
1404 
     | 
    
         
             
            	return document;
         
     | 
| 
       1603 
     | 
    
         
            -
            } 
     | 
| 
      
 1405 
     | 
    
         
            +
            }
         
     | 
| 
       1604 
1406 
     | 
    
         | 
| 
       1605 
     | 
    
         
            -
             
     | 
| 
       1606 
     | 
    
         
            -
            	return  
     | 
| 
      
 1407 
     | 
    
         
            +
            find.matches = function( expr, elements ) {
         
     | 
| 
      
 1408 
     | 
    
         
            +
            	return find( expr, null, null, elements );
         
     | 
| 
       1607 
1409 
     | 
    
         
             
            };
         
     | 
| 
       1608 
1410 
     | 
    
         | 
| 
       1609 
     | 
    
         
            -
             
     | 
| 
      
 1411 
     | 
    
         
            +
            find.matchesSelector = function( elem, expr ) {
         
     | 
| 
       1610 
1412 
     | 
    
         
             
            	setDocument( elem );
         
     | 
| 
       1611 
1413 
     | 
    
         | 
| 
       1612 
     | 
    
         
            -
            	if (  
     | 
| 
      
 1414 
     | 
    
         
            +
            	if ( documentIsHTML &&
         
     | 
| 
       1613 
1415 
     | 
    
         
             
            		!nonnativeSelectorCache[ expr + " " ] &&
         
     | 
| 
       1614 
     | 
    
         
            -
            		( ! 
     | 
| 
       1615 
     | 
    
         
            -
            		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
         
     | 
| 
      
 1416 
     | 
    
         
            +
            		( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
         
     | 
| 
       1616 
1417 
     | 
    
         | 
| 
       1617 
1418 
     | 
    
         
             
            		try {
         
     | 
| 
       1618 
1419 
     | 
    
         
             
            			var ret = matches.call( elem, expr );
         
     | 
| 
         @@ -1620,9 +1421,9 @@ Sizzle.matchesSelector = function( elem, expr ) { 
     | 
|
| 
       1620 
1421 
     | 
    
         
             
            			// IE 9's matchesSelector returns false on disconnected nodes
         
     | 
| 
       1621 
1422 
     | 
    
         
             
            			if ( ret || support.disconnectedMatch ||
         
     | 
| 
       1622 
1423 
     | 
    
         | 
| 
       1623 
     | 
    
         
            -
             
     | 
| 
       1624 
     | 
    
         
            -
             
     | 
| 
       1625 
     | 
    
         
            -
             
     | 
| 
      
 1424 
     | 
    
         
            +
            					// As well, disconnected nodes are said to be in a document
         
     | 
| 
      
 1425 
     | 
    
         
            +
            					// fragment in IE 9
         
     | 
| 
      
 1426 
     | 
    
         
            +
            					elem.document && elem.document.nodeType !== 11 ) {
         
     | 
| 
       1626 
1427 
     | 
    
         
             
            				return ret;
         
     | 
| 
       1627 
1428 
     | 
    
         
             
            			}
         
     | 
| 
       1628 
1429 
     | 
    
         
             
            		} catch ( e ) {
         
     | 
| 
         @@ -1630,10 +1431,10 @@ Sizzle.matchesSelector = function( elem, expr ) { 
     | 
|
| 
       1630 
1431 
     | 
    
         
             
            		}
         
     | 
| 
       1631 
1432 
     | 
    
         
             
            	}
         
     | 
| 
       1632 
1433 
     | 
    
         | 
| 
       1633 
     | 
    
         
            -
            	return  
     | 
| 
      
 1434 
     | 
    
         
            +
            	return find( expr, document, null, [ elem ] ).length > 0;
         
     | 
| 
       1634 
1435 
     | 
    
         
             
            };
         
     | 
| 
       1635 
1436 
     | 
    
         | 
| 
       1636 
     | 
    
         
            -
             
     | 
| 
      
 1437 
     | 
    
         
            +
            find.contains = function( context, elem ) {
         
     | 
| 
       1637 
1438 
     | 
    
         | 
| 
       1638 
1439 
     | 
    
         
             
            	// Set document vars if needed
         
     | 
| 
       1639 
1440 
     | 
    
         
             
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
         @@ -1643,10 +1444,11 @@ Sizzle.contains = function( context, elem ) { 
     | 
|
| 
       1643 
1444 
     | 
    
         
             
            	if ( ( context.ownerDocument || context ) != document ) {
         
     | 
| 
       1644 
1445 
     | 
    
         
             
            		setDocument( context );
         
     | 
| 
       1645 
1446 
     | 
    
         
             
            	}
         
     | 
| 
       1646 
     | 
    
         
            -
            	return contains( context, elem );
         
     | 
| 
      
 1447 
     | 
    
         
            +
            	return jQuery.contains( context, elem );
         
     | 
| 
       1647 
1448 
     | 
    
         
             
            };
         
     | 
| 
       1648 
1449 
     | 
    
         | 
| 
       1649 
     | 
    
         
            -
             
     | 
| 
      
 1450 
     | 
    
         
            +
             
     | 
| 
      
 1451 
     | 
    
         
            +
            find.attr = function( elem, name ) {
         
     | 
| 
       1650 
1452 
     | 
    
         | 
| 
       1651 
1453 
     | 
    
         
             
            	// Set document vars if needed
         
     | 
| 
       1652 
1454 
     | 
    
         
             
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
         @@ -1659,25 +1461,19 @@ Sizzle.attr = function( elem, name ) { 
     | 
|
| 
       1659 
1461 
     | 
    
         | 
| 
       1660 
1462 
     | 
    
         
             
            	var fn = Expr.attrHandle[ name.toLowerCase() ],
         
     | 
| 
       1661 
1463 
     | 
    
         | 
| 
       1662 
     | 
    
         
            -
            		// Don't get fooled by Object.prototype properties ( 
     | 
| 
      
 1464 
     | 
    
         
            +
            		// Don't get fooled by Object.prototype properties (see trac-13807)
         
     | 
| 
       1663 
1465 
     | 
    
         
             
            		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
         
     | 
| 
       1664 
1466 
     | 
    
         
             
            			fn( elem, name, !documentIsHTML ) :
         
     | 
| 
       1665 
1467 
     | 
    
         
             
            			undefined;
         
     | 
| 
       1666 
1468 
     | 
    
         | 
| 
       1667 
     | 
    
         
            -
            	 
     | 
| 
       1668 
     | 
    
         
            -
            		val 
     | 
| 
       1669 
     | 
    
         
            -
             
     | 
| 
       1670 
     | 
    
         
            -
            			elem.getAttribute( name ) :
         
     | 
| 
       1671 
     | 
    
         
            -
            			( val = elem.getAttributeNode( name ) ) && val.specified ?
         
     | 
| 
       1672 
     | 
    
         
            -
            				val.value :
         
     | 
| 
       1673 
     | 
    
         
            -
            				null;
         
     | 
| 
       1674 
     | 
    
         
            -
            };
         
     | 
| 
      
 1469 
     | 
    
         
            +
            	if ( val !== undefined ) {
         
     | 
| 
      
 1470 
     | 
    
         
            +
            		return val;
         
     | 
| 
      
 1471 
     | 
    
         
            +
            	}
         
     | 
| 
       1675 
1472 
     | 
    
         | 
| 
       1676 
     | 
    
         
            -
             
     | 
| 
       1677 
     | 
    
         
            -
            	return ( sel + "" ).replace( rcssescape, fcssescape );
         
     | 
| 
      
 1473 
     | 
    
         
            +
            	return elem.getAttribute( name );
         
     | 
| 
       1678 
1474 
     | 
    
         
             
            };
         
     | 
| 
       1679 
1475 
     | 
    
         | 
| 
       1680 
     | 
    
         
            -
             
     | 
| 
      
 1476 
     | 
    
         
            +
            find.error = function( msg ) {
         
     | 
| 
       1681 
1477 
     | 
    
         
             
            	throw new Error( "Syntax error, unrecognized expression: " + msg );
         
     | 
| 
       1682 
1478 
     | 
    
         
             
            };
         
     | 
| 
       1683 
1479 
     | 
    
         | 
| 
         @@ -1685,16 +1481,20 @@ Sizzle.error = function( msg ) { 
     | 
|
| 
       1685 
1481 
     | 
    
         
             
             * Document sorting and removing duplicates
         
     | 
| 
       1686 
1482 
     | 
    
         
             
             * @param {ArrayLike} results
         
     | 
| 
       1687 
1483 
     | 
    
         
             
             */
         
     | 
| 
       1688 
     | 
    
         
            -
             
     | 
| 
      
 1484 
     | 
    
         
            +
            jQuery.uniqueSort = function( results ) {
         
     | 
| 
       1689 
1485 
     | 
    
         
             
            	var elem,
         
     | 
| 
       1690 
1486 
     | 
    
         
             
            		duplicates = [],
         
     | 
| 
       1691 
1487 
     | 
    
         
             
            		j = 0,
         
     | 
| 
       1692 
1488 
     | 
    
         
             
            		i = 0;
         
     | 
| 
       1693 
1489 
     | 
    
         | 
| 
       1694 
1490 
     | 
    
         
             
            	// Unless we *know* we can detect duplicates, assume their presence
         
     | 
| 
       1695 
     | 
    
         
            -
            	 
     | 
| 
       1696 
     | 
    
         
            -
            	 
     | 
| 
       1697 
     | 
    
         
            -
            	 
     | 
| 
      
 1491 
     | 
    
         
            +
            	//
         
     | 
| 
      
 1492 
     | 
    
         
            +
            	// Support: Android <=4.0+
         
     | 
| 
      
 1493 
     | 
    
         
            +
            	// Testing for detecting duplicates is unpredictable so instead assume we can't
         
     | 
| 
      
 1494 
     | 
    
         
            +
            	// depend on duplicate detection in all browsers without a stable sort.
         
     | 
| 
      
 1495 
     | 
    
         
            +
            	hasDuplicate = !support.sortStable;
         
     | 
| 
      
 1496 
     | 
    
         
            +
            	sortInput = !support.sortStable && slice.call( results, 0 );
         
     | 
| 
      
 1497 
     | 
    
         
            +
            	sort.call( results, sortOrder );
         
     | 
| 
       1698 
1498 
     | 
    
         | 
| 
       1699 
1499 
     | 
    
         
             
            	if ( hasDuplicate ) {
         
     | 
| 
       1700 
1500 
     | 
    
         
             
            		while ( ( elem = results[ i++ ] ) ) {
         
     | 
| 
         @@ -1703,7 +1503,7 @@ Sizzle.uniqueSort = function( results ) { 
     | 
|
| 
       1703 
1503 
     | 
    
         
             
            			}
         
     | 
| 
       1704 
1504 
     | 
    
         
             
            		}
         
     | 
| 
       1705 
1505 
     | 
    
         
             
            		while ( j-- ) {
         
     | 
| 
       1706 
     | 
    
         
            -
            			 
     | 
| 
      
 1506 
     | 
    
         
            +
            			splice.call( results, duplicates[ j ], 1 );
         
     | 
| 
       1707 
1507 
     | 
    
         
             
            		}
         
     | 
| 
       1708 
1508 
     | 
    
         
             
            	}
         
     | 
| 
       1709 
1509 
     | 
    
         | 
| 
         @@ -1714,47 +1514,11 @@ Sizzle.uniqueSort = function( results ) { 
     | 
|
| 
       1714 
1514 
     | 
    
         
             
            	return results;
         
     | 
| 
       1715 
1515 
     | 
    
         
             
            };
         
     | 
| 
       1716 
1516 
     | 
    
         | 
| 
       1717 
     | 
    
         
            -
             
     | 
| 
       1718 
     | 
    
         
            -
              
     | 
| 
       1719 
     | 
    
         
            -
             * @param {Array|Element} elem
         
     | 
| 
       1720 
     | 
    
         
            -
             */
         
     | 
| 
       1721 
     | 
    
         
            -
            getText = Sizzle.getText = function( elem ) {
         
     | 
| 
       1722 
     | 
    
         
            -
            	var node,
         
     | 
| 
       1723 
     | 
    
         
            -
            		ret = "",
         
     | 
| 
       1724 
     | 
    
         
            -
            		i = 0,
         
     | 
| 
       1725 
     | 
    
         
            -
            		nodeType = elem.nodeType;
         
     | 
| 
       1726 
     | 
    
         
            -
             
     | 
| 
       1727 
     | 
    
         
            -
            	if ( !nodeType ) {
         
     | 
| 
       1728 
     | 
    
         
            -
             
     | 
| 
       1729 
     | 
    
         
            -
            		// If no nodeType, this is expected to be an array
         
     | 
| 
       1730 
     | 
    
         
            -
            		while ( ( node = elem[ i++ ] ) ) {
         
     | 
| 
       1731 
     | 
    
         
            -
             
     | 
| 
       1732 
     | 
    
         
            -
            			// Do not traverse comment nodes
         
     | 
| 
       1733 
     | 
    
         
            -
            			ret += getText( node );
         
     | 
| 
       1734 
     | 
    
         
            -
            		}
         
     | 
| 
       1735 
     | 
    
         
            -
            	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
         
     | 
| 
       1736 
     | 
    
         
            -
             
     | 
| 
       1737 
     | 
    
         
            -
            		// Use textContent for elements
         
     | 
| 
       1738 
     | 
    
         
            -
            		// innerText usage removed for consistency of new lines (jQuery #11153)
         
     | 
| 
       1739 
     | 
    
         
            -
            		if ( typeof elem.textContent === "string" ) {
         
     | 
| 
       1740 
     | 
    
         
            -
            			return elem.textContent;
         
     | 
| 
       1741 
     | 
    
         
            -
            		} else {
         
     | 
| 
       1742 
     | 
    
         
            -
             
     | 
| 
       1743 
     | 
    
         
            -
            			// Traverse its children
         
     | 
| 
       1744 
     | 
    
         
            -
            			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
         
     | 
| 
       1745 
     | 
    
         
            -
            				ret += getText( elem );
         
     | 
| 
       1746 
     | 
    
         
            -
            			}
         
     | 
| 
       1747 
     | 
    
         
            -
            		}
         
     | 
| 
       1748 
     | 
    
         
            -
            	} else if ( nodeType === 3 || nodeType === 4 ) {
         
     | 
| 
       1749 
     | 
    
         
            -
            		return elem.nodeValue;
         
     | 
| 
       1750 
     | 
    
         
            -
            	}
         
     | 
| 
       1751 
     | 
    
         
            -
             
     | 
| 
       1752 
     | 
    
         
            -
            	// Do not include comment or processing instruction nodes
         
     | 
| 
       1753 
     | 
    
         
            -
             
     | 
| 
       1754 
     | 
    
         
            -
            	return ret;
         
     | 
| 
      
 1517 
     | 
    
         
            +
            jQuery.fn.uniqueSort = function() {
         
     | 
| 
      
 1518 
     | 
    
         
            +
            	return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
         
     | 
| 
       1755 
1519 
     | 
    
         
             
            };
         
     | 
| 
       1756 
1520 
     | 
    
         | 
| 
       1757 
     | 
    
         
            -
            Expr =  
     | 
| 
      
 1521 
     | 
    
         
            +
            Expr = jQuery.expr = {
         
     | 
| 
       1758 
1522 
     | 
    
         | 
| 
       1759 
1523 
     | 
    
         
             
            	// Can be adjusted by the user
         
     | 
| 
       1760 
1524 
     | 
    
         
             
            	cacheLength: 50,
         
     | 
| 
         @@ -1775,12 +1539,12 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1775 
1539 
     | 
    
         
             
            	},
         
     | 
| 
       1776 
1540 
     | 
    
         | 
| 
       1777 
1541 
     | 
    
         
             
            	preFilter: {
         
     | 
| 
       1778 
     | 
    
         
            -
            		 
     | 
| 
      
 1542 
     | 
    
         
            +
            		ATTR: function( match ) {
         
     | 
| 
       1779 
1543 
     | 
    
         
             
            			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
         
     | 
| 
       1780 
1544 
     | 
    
         | 
| 
       1781 
1545 
     | 
    
         
             
            			// Move the given value to match[3] whether quoted or unquoted
         
     | 
| 
       1782 
     | 
    
         
            -
            			match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
         
     | 
| 
       1783 
     | 
    
         
            -
            				 
     | 
| 
      
 1546 
     | 
    
         
            +
            			match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
         
     | 
| 
      
 1547 
     | 
    
         
            +
            				.replace( runescape, funescape );
         
     | 
| 
       1784 
1548 
     | 
    
         | 
| 
       1785 
1549 
     | 
    
         
             
            			if ( match[ 2 ] === "~=" ) {
         
     | 
| 
       1786 
1550 
     | 
    
         
             
            				match[ 3 ] = " " + match[ 3 ] + " ";
         
     | 
| 
         @@ -1789,7 +1553,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1789 
1553 
     | 
    
         
             
            			return match.slice( 0, 4 );
         
     | 
| 
       1790 
1554 
     | 
    
         
             
            		},
         
     | 
| 
       1791 
1555 
     | 
    
         | 
| 
       1792 
     | 
    
         
            -
            		 
     | 
| 
      
 1556 
     | 
    
         
            +
            		CHILD: function( match ) {
         
     | 
| 
       1793 
1557 
     | 
    
         | 
| 
       1794 
1558 
     | 
    
         
             
            			/* matches from matchExpr["CHILD"]
         
     | 
| 
       1795 
1559 
     | 
    
         
             
            				1 type (only|nth|...)
         
     | 
| 
         @@ -1807,29 +1571,30 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1807 
1571 
     | 
    
         | 
| 
       1808 
1572 
     | 
    
         
             
            				// nth-* requires argument
         
     | 
| 
       1809 
1573 
     | 
    
         
             
            				if ( !match[ 3 ] ) {
         
     | 
| 
       1810 
     | 
    
         
            -
            					 
     | 
| 
      
 1574 
     | 
    
         
            +
            					find.error( match[ 0 ] );
         
     | 
| 
       1811 
1575 
     | 
    
         
             
            				}
         
     | 
| 
       1812 
1576 
     | 
    
         | 
| 
       1813 
1577 
     | 
    
         
             
            				// numeric x and y parameters for Expr.filter.CHILD
         
     | 
| 
       1814 
1578 
     | 
    
         
             
            				// remember that false/true cast respectively to 0/1
         
     | 
| 
       1815 
1579 
     | 
    
         
             
            				match[ 4 ] = +( match[ 4 ] ?
         
     | 
| 
       1816 
1580 
     | 
    
         
             
            					match[ 5 ] + ( match[ 6 ] || 1 ) :
         
     | 
| 
       1817 
     | 
    
         
            -
            					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) 
     | 
| 
      
 1581 
     | 
    
         
            +
            					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
         
     | 
| 
      
 1582 
     | 
    
         
            +
            				);
         
     | 
| 
       1818 
1583 
     | 
    
         
             
            				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
         
     | 
| 
       1819 
1584 
     | 
    
         | 
| 
       1820 
     | 
    
         
            -
             
     | 
| 
      
 1585 
     | 
    
         
            +
            			// other types prohibit arguments
         
     | 
| 
       1821 
1586 
     | 
    
         
             
            			} else if ( match[ 3 ] ) {
         
     | 
| 
       1822 
     | 
    
         
            -
            				 
     | 
| 
      
 1587 
     | 
    
         
            +
            				find.error( match[ 0 ] );
         
     | 
| 
       1823 
1588 
     | 
    
         
             
            			}
         
     | 
| 
       1824 
1589 
     | 
    
         | 
| 
       1825 
1590 
     | 
    
         
             
            			return match;
         
     | 
| 
       1826 
1591 
     | 
    
         
             
            		},
         
     | 
| 
       1827 
1592 
     | 
    
         | 
| 
       1828 
     | 
    
         
            -
            		 
     | 
| 
      
 1593 
     | 
    
         
            +
            		PSEUDO: function( match ) {
         
     | 
| 
       1829 
1594 
     | 
    
         
             
            			var excess,
         
     | 
| 
       1830 
1595 
     | 
    
         
             
            				unquoted = !match[ 6 ] && match[ 2 ];
         
     | 
| 
       1831 
1596 
     | 
    
         | 
| 
       1832 
     | 
    
         
            -
            			if ( matchExpr 
     | 
| 
      
 1597 
     | 
    
         
            +
            			if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
         
     | 
| 
       1833 
1598 
     | 
    
         
             
            				return null;
         
     | 
| 
       1834 
1599 
     | 
    
         
             
            			}
         
     | 
| 
       1835 
1600 
     | 
    
         | 
| 
         @@ -1858,36 +1623,36 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1858 
1623 
     | 
    
         | 
| 
       1859 
1624 
     | 
    
         
             
            	filter: {
         
     | 
| 
       1860 
1625 
     | 
    
         | 
| 
       1861 
     | 
    
         
            -
            		 
     | 
| 
       1862 
     | 
    
         
            -
            			var  
     | 
| 
      
 1626 
     | 
    
         
            +
            		TAG: function( nodeNameSelector ) {
         
     | 
| 
      
 1627 
     | 
    
         
            +
            			var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
       1863 
1628 
     | 
    
         
             
            			return nodeNameSelector === "*" ?
         
     | 
| 
       1864 
1629 
     | 
    
         
             
            				function() {
         
     | 
| 
       1865 
1630 
     | 
    
         
             
            					return true;
         
     | 
| 
       1866 
1631 
     | 
    
         
             
            				} :
         
     | 
| 
       1867 
1632 
     | 
    
         
             
            				function( elem ) {
         
     | 
| 
       1868 
     | 
    
         
            -
            					return  
     | 
| 
      
 1633 
     | 
    
         
            +
            					return nodeName( elem, expectedNodeName );
         
     | 
| 
       1869 
1634 
     | 
    
         
             
            				};
         
     | 
| 
       1870 
1635 
     | 
    
         
             
            		},
         
     | 
| 
       1871 
1636 
     | 
    
         | 
| 
       1872 
     | 
    
         
            -
            		 
     | 
| 
      
 1637 
     | 
    
         
            +
            		CLASS: function( className ) {
         
     | 
| 
       1873 
1638 
     | 
    
         
             
            			var pattern = classCache[ className + " " ];
         
     | 
| 
       1874 
1639 
     | 
    
         | 
| 
       1875 
1640 
     | 
    
         
             
            			return pattern ||
         
     | 
| 
       1876 
     | 
    
         
            -
            				( pattern = new RegExp( "(^|" + whitespace +
         
     | 
| 
       1877 
     | 
    
         
            -
            					" 
     | 
| 
       1878 
     | 
    
         
            -
             
     | 
| 
       1879 
     | 
    
         
            -
             
     | 
| 
       1880 
     | 
    
         
            -
             
     | 
| 
       1881 
     | 
    
         
            -
             
     | 
| 
       1882 
     | 
    
         
            -
             
     | 
| 
       1883 
     | 
    
         
            -
             
     | 
| 
       1884 
     | 
    
         
            -
             
     | 
| 
      
 1641 
     | 
    
         
            +
            				( pattern = new RegExp( "(^|" + whitespace + ")" + className +
         
     | 
| 
      
 1642 
     | 
    
         
            +
            					"(" + whitespace + "|$)" ) ) &&
         
     | 
| 
      
 1643 
     | 
    
         
            +
            				classCache( className, function( elem ) {
         
     | 
| 
      
 1644 
     | 
    
         
            +
            					return pattern.test(
         
     | 
| 
      
 1645 
     | 
    
         
            +
            						typeof elem.className === "string" && elem.className ||
         
     | 
| 
      
 1646 
     | 
    
         
            +
            							typeof elem.getAttribute !== "undefined" &&
         
     | 
| 
      
 1647 
     | 
    
         
            +
            								elem.getAttribute( "class" ) ||
         
     | 
| 
      
 1648 
     | 
    
         
            +
            							""
         
     | 
| 
      
 1649 
     | 
    
         
            +
            					);
         
     | 
| 
       1885 
1650 
     | 
    
         
             
            				} );
         
     | 
| 
       1886 
1651 
     | 
    
         
             
            		},
         
     | 
| 
       1887 
1652 
     | 
    
         | 
| 
       1888 
     | 
    
         
            -
            		 
     | 
| 
      
 1653 
     | 
    
         
            +
            		ATTR: function( name, operator, check ) {
         
     | 
| 
       1889 
1654 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1890 
     | 
    
         
            -
            				var result =  
     | 
| 
      
 1655 
     | 
    
         
            +
            				var result = find.attr( elem, name );
         
     | 
| 
       1891 
1656 
     | 
    
         | 
| 
       1892 
1657 
     | 
    
         
             
            				if ( result == null ) {
         
     | 
| 
       1893 
1658 
     | 
    
         
             
            					return operator === "!=";
         
     | 
| 
         @@ -1898,22 +1663,34 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1898 
1663 
     | 
    
         | 
| 
       1899 
1664 
     | 
    
         
             
            				result += "";
         
     | 
| 
       1900 
1665 
     | 
    
         | 
| 
       1901 
     | 
    
         
            -
            				 
     | 
| 
       1902 
     | 
    
         
            -
             
     | 
| 
       1903 
     | 
    
         
            -
            				 
     | 
| 
       1904 
     | 
    
         
            -
             
     | 
| 
       1905 
     | 
    
         
            -
            					 
     | 
| 
       1906 
     | 
    
         
            -
             
     | 
| 
       1907 
     | 
    
         
            -
             
     | 
| 
       1908 
     | 
    
         
            -
            					 
     | 
| 
       1909 
     | 
    
         
            -
             
     | 
| 
       1910 
     | 
    
         
            -
             
     | 
| 
       1911 
     | 
    
         
            -
             
     | 
| 
      
 1666 
     | 
    
         
            +
            				if ( operator === "=" ) {
         
     | 
| 
      
 1667 
     | 
    
         
            +
            					return result === check;
         
     | 
| 
      
 1668 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1669 
     | 
    
         
            +
            				if ( operator === "!=" ) {
         
     | 
| 
      
 1670 
     | 
    
         
            +
            					return result !== check;
         
     | 
| 
      
 1671 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1672 
     | 
    
         
            +
            				if ( operator === "^=" ) {
         
     | 
| 
      
 1673 
     | 
    
         
            +
            					return check && result.indexOf( check ) === 0;
         
     | 
| 
      
 1674 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1675 
     | 
    
         
            +
            				if ( operator === "*=" ) {
         
     | 
| 
      
 1676 
     | 
    
         
            +
            					return check && result.indexOf( check ) > -1;
         
     | 
| 
      
 1677 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1678 
     | 
    
         
            +
            				if ( operator === "$=" ) {
         
     | 
| 
      
 1679 
     | 
    
         
            +
            					return check && result.slice( -check.length ) === check;
         
     | 
| 
      
 1680 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1681 
     | 
    
         
            +
            				if ( operator === "~=" ) {
         
     | 
| 
      
 1682 
     | 
    
         
            +
            					return ( " " + result.replace( rwhitespace, " " ) + " " )
         
     | 
| 
      
 1683 
     | 
    
         
            +
            						.indexOf( check ) > -1;
         
     | 
| 
      
 1684 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1685 
     | 
    
         
            +
            				if ( operator === "|=" ) {
         
     | 
| 
      
 1686 
     | 
    
         
            +
            					return result === check || result.slice( 0, check.length + 1 ) === check + "-";
         
     | 
| 
      
 1687 
     | 
    
         
            +
            				}
         
     | 
| 
       1912 
1688 
     | 
    
         | 
| 
      
 1689 
     | 
    
         
            +
            				return false;
         
     | 
| 
       1913 
1690 
     | 
    
         
             
            			};
         
     | 
| 
       1914 
1691 
     | 
    
         
             
            		},
         
     | 
| 
       1915 
1692 
     | 
    
         | 
| 
       1916 
     | 
    
         
            -
            		 
     | 
| 
      
 1693 
     | 
    
         
            +
            		CHILD: function( type, what, _argument, first, last ) {
         
     | 
| 
       1917 
1694 
     | 
    
         
             
            			var simple = type.slice( 0, 3 ) !== "nth",
         
     | 
| 
       1918 
1695 
     | 
    
         
             
            				forward = type.slice( -4 ) !== "last",
         
     | 
| 
       1919 
1696 
     | 
    
         
             
            				ofType = what === "of-type";
         
     | 
| 
         @@ -1926,7 +1703,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1926 
1703 
     | 
    
         
             
            				} :
         
     | 
| 
       1927 
1704 
     | 
    
         | 
| 
       1928 
1705 
     | 
    
         
             
            				function( elem, _context, xml ) {
         
     | 
| 
       1929 
     | 
    
         
            -
            					var cache,  
     | 
| 
      
 1706 
     | 
    
         
            +
            					var cache, outerCache, node, nodeIndex, start,
         
     | 
| 
       1930 
1707 
     | 
    
         
             
            						dir = simple !== forward ? "nextSibling" : "previousSibling",
         
     | 
| 
       1931 
1708 
     | 
    
         
             
            						parent = elem.parentNode,
         
     | 
| 
       1932 
1709 
     | 
    
         
             
            						name = ofType && elem.nodeName.toLowerCase(),
         
     | 
| 
         @@ -1941,7 +1718,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1941 
1718 
     | 
    
         
             
            								node = elem;
         
     | 
| 
       1942 
1719 
     | 
    
         
             
            								while ( ( node = node[ dir ] ) ) {
         
     | 
| 
       1943 
1720 
     | 
    
         
             
            									if ( ofType ?
         
     | 
| 
       1944 
     | 
    
         
            -
            										 
     | 
| 
      
 1721 
     | 
    
         
            +
            										nodeName( node, name ) :
         
     | 
| 
       1945 
1722 
     | 
    
         
             
            										node.nodeType === 1 ) {
         
     | 
| 
       1946 
1723 
     | 
    
         | 
| 
       1947 
1724 
     | 
    
         
             
            										return false;
         
     | 
| 
         @@ -1960,17 +1737,8 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1960 
1737 
     | 
    
         
             
            						if ( forward && useCache ) {
         
     | 
| 
       1961 
1738 
     | 
    
         | 
| 
       1962 
1739 
     | 
    
         
             
            							// Seek `elem` from a previously-cached index
         
     | 
| 
       1963 
     | 
    
         
            -
             
     | 
| 
       1964 
     | 
    
         
            -
            							 
     | 
| 
       1965 
     | 
    
         
            -
            							node = parent;
         
     | 
| 
       1966 
     | 
    
         
            -
            							outerCache = node[ expando ] || ( node[ expando ] = {} );
         
     | 
| 
       1967 
     | 
    
         
            -
             
     | 
| 
       1968 
     | 
    
         
            -
            							// Support: IE <9 only
         
     | 
| 
       1969 
     | 
    
         
            -
            							// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       1970 
     | 
    
         
            -
            							uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       1971 
     | 
    
         
            -
            								( outerCache[ node.uniqueID ] = {} );
         
     | 
| 
       1972 
     | 
    
         
            -
             
     | 
| 
       1973 
     | 
    
         
            -
            							cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1740 
     | 
    
         
            +
            							outerCache = parent[ expando ] || ( parent[ expando ] = {} );
         
     | 
| 
      
 1741 
     | 
    
         
            +
            							cache = outerCache[ type ] || [];
         
     | 
| 
       1974 
1742 
     | 
    
         
             
            							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
       1975 
1743 
     | 
    
         
             
            							diff = nodeIndex && cache[ 2 ];
         
     | 
| 
       1976 
1744 
     | 
    
         
             
            							node = nodeIndex && parent.childNodes[ nodeIndex ];
         
     | 
| 
         @@ -1982,7 +1750,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1982 
1750 
     | 
    
         | 
| 
       1983 
1751 
     | 
    
         
             
            								// When found, cache indexes on `parent` and break
         
     | 
| 
       1984 
1752 
     | 
    
         
             
            								if ( node.nodeType === 1 && ++diff && node === elem ) {
         
     | 
| 
       1985 
     | 
    
         
            -
            									 
     | 
| 
      
 1753 
     | 
    
         
            +
            									outerCache[ type ] = [ dirruns, nodeIndex, diff ];
         
     | 
| 
       1986 
1754 
     | 
    
         
             
            									break;
         
     | 
| 
       1987 
1755 
     | 
    
         
             
            								}
         
     | 
| 
       1988 
1756 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -1991,17 +1759,8 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1991 
1759 
     | 
    
         | 
| 
       1992 
1760 
     | 
    
         
             
            							// Use previously-cached element index if available
         
     | 
| 
       1993 
1761 
     | 
    
         
             
            							if ( useCache ) {
         
     | 
| 
       1994 
     | 
    
         
            -
             
     | 
| 
       1995 
     | 
    
         
            -
            								 
     | 
| 
       1996 
     | 
    
         
            -
            								node = elem;
         
     | 
| 
       1997 
     | 
    
         
            -
            								outerCache = node[ expando ] || ( node[ expando ] = {} );
         
     | 
| 
       1998 
     | 
    
         
            -
             
     | 
| 
       1999 
     | 
    
         
            -
            								// Support: IE <9 only
         
     | 
| 
       2000 
     | 
    
         
            -
            								// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       2001 
     | 
    
         
            -
            								uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       2002 
     | 
    
         
            -
            									( outerCache[ node.uniqueID ] = {} );
         
     | 
| 
       2003 
     | 
    
         
            -
             
     | 
| 
       2004 
     | 
    
         
            -
            								cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1762 
     | 
    
         
            +
            								outerCache = elem[ expando ] || ( elem[ expando ] = {} );
         
     | 
| 
      
 1763 
     | 
    
         
            +
            								cache = outerCache[ type ] || [];
         
     | 
| 
       2005 
1764 
     | 
    
         
             
            								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
       2006 
1765 
     | 
    
         
             
            								diff = nodeIndex;
         
     | 
| 
       2007 
1766 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -2015,7 +1774,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2015 
1774 
     | 
    
         
             
            									( diff = nodeIndex = 0 ) || start.pop() ) ) {
         
     | 
| 
       2016 
1775 
     | 
    
         | 
| 
       2017 
1776 
     | 
    
         
             
            									if ( ( ofType ?
         
     | 
| 
       2018 
     | 
    
         
            -
            										 
     | 
| 
      
 1777 
     | 
    
         
            +
            										nodeName( node, name ) :
         
     | 
| 
       2019 
1778 
     | 
    
         
             
            										node.nodeType === 1 ) &&
         
     | 
| 
       2020 
1779 
     | 
    
         
             
            										++diff ) {
         
     | 
| 
       2021 
1780 
     | 
    
         | 
| 
         @@ -2023,13 +1782,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2023 
1782 
     | 
    
         
             
            										if ( useCache ) {
         
     | 
| 
       2024 
1783 
     | 
    
         
             
            											outerCache = node[ expando ] ||
         
     | 
| 
       2025 
1784 
     | 
    
         
             
            												( node[ expando ] = {} );
         
     | 
| 
       2026 
     | 
    
         
            -
             
     | 
| 
       2027 
     | 
    
         
            -
            											// Support: IE <9 only
         
     | 
| 
       2028 
     | 
    
         
            -
            											// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       2029 
     | 
    
         
            -
            											uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       2030 
     | 
    
         
            -
            												( outerCache[ node.uniqueID ] = {} );
         
     | 
| 
       2031 
     | 
    
         
            -
             
     | 
| 
       2032 
     | 
    
         
            -
            											uniqueCache[ type ] = [ dirruns, diff ];
         
     | 
| 
      
 1785 
     | 
    
         
            +
            											outerCache[ type ] = [ dirruns, diff ];
         
     | 
| 
       2033 
1786 
     | 
    
         
             
            										}
         
     | 
| 
       2034 
1787 
     | 
    
         | 
| 
       2035 
1788 
     | 
    
         
             
            										if ( node === elem ) {
         
     | 
| 
         @@ -2047,19 +1800,19 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2047 
1800 
     | 
    
         
             
            				};
         
     | 
| 
       2048 
1801 
     | 
    
         
             
            		},
         
     | 
| 
       2049 
1802 
     | 
    
         | 
| 
       2050 
     | 
    
         
            -
            		 
     | 
| 
      
 1803 
     | 
    
         
            +
            		PSEUDO: function( pseudo, argument ) {
         
     | 
| 
       2051 
1804 
     | 
    
         | 
| 
       2052 
1805 
     | 
    
         
             
            			// pseudo-class names are case-insensitive
         
     | 
| 
       2053 
     | 
    
         
            -
            			//  
     | 
| 
      
 1806 
     | 
    
         
            +
            			// https://www.w3.org/TR/selectors/#pseudo-classes
         
     | 
| 
       2054 
1807 
     | 
    
         
             
            			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
         
     | 
| 
       2055 
1808 
     | 
    
         
             
            			// Remember that setFilters inherits from pseudos
         
     | 
| 
       2056 
1809 
     | 
    
         
             
            			var args,
         
     | 
| 
       2057 
1810 
     | 
    
         
             
            				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
         
     | 
| 
       2058 
     | 
    
         
            -
            					 
     | 
| 
      
 1811 
     | 
    
         
            +
            					find.error( "unsupported pseudo: " + pseudo );
         
     | 
| 
       2059 
1812 
     | 
    
         | 
| 
       2060 
1813 
     | 
    
         
             
            			// The user may use createPseudo to indicate that
         
     | 
| 
       2061 
1814 
     | 
    
         
             
            			// arguments are needed to create the filter function
         
     | 
| 
       2062 
     | 
    
         
            -
            			// just as  
     | 
| 
      
 1815 
     | 
    
         
            +
            			// just as jQuery does
         
     | 
| 
       2063 
1816 
     | 
    
         
             
            			if ( fn[ expando ] ) {
         
     | 
| 
       2064 
1817 
     | 
    
         
             
            				return fn( argument );
         
     | 
| 
       2065 
1818 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -2073,7 +1826,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2073 
1826 
     | 
    
         
             
            							matched = fn( seed, argument ),
         
     | 
| 
       2074 
1827 
     | 
    
         
             
            							i = matched.length;
         
     | 
| 
       2075 
1828 
     | 
    
         
             
            						while ( i-- ) {
         
     | 
| 
       2076 
     | 
    
         
            -
            							idx = indexOf( seed, matched[ i ] );
         
     | 
| 
      
 1829 
     | 
    
         
            +
            							idx = indexOf.call( seed, matched[ i ] );
         
     | 
| 
       2077 
1830 
     | 
    
         
             
            							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
         
     | 
| 
       2078 
1831 
     | 
    
         
             
            						}
         
     | 
| 
       2079 
1832 
     | 
    
         
             
            					} ) :
         
     | 
| 
         @@ -2089,14 +1842,14 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2089 
1842 
     | 
    
         
             
            	pseudos: {
         
     | 
| 
       2090 
1843 
     | 
    
         | 
| 
       2091 
1844 
     | 
    
         
             
            		// Potentially complex pseudos
         
     | 
| 
       2092 
     | 
    
         
            -
            		 
     | 
| 
      
 1845 
     | 
    
         
            +
            		not: markFunction( function( selector ) {
         
     | 
| 
       2093 
1846 
     | 
    
         | 
| 
       2094 
1847 
     | 
    
         
             
            			// Trim the selector passed to compile
         
     | 
| 
       2095 
1848 
     | 
    
         
             
            			// to avoid treating leading and trailing
         
     | 
| 
       2096 
1849 
     | 
    
         
             
            			// spaces as combinators
         
     | 
| 
       2097 
1850 
     | 
    
         
             
            			var input = [],
         
     | 
| 
       2098 
1851 
     | 
    
         
             
            				results = [],
         
     | 
| 
       2099 
     | 
    
         
            -
            				matcher = compile( selector.replace(  
     | 
| 
      
 1852 
     | 
    
         
            +
            				matcher = compile( selector.replace( rtrimCSS, "$1" ) );
         
     | 
| 
       2100 
1853 
     | 
    
         | 
| 
       2101 
1854 
     | 
    
         
             
            			return matcher[ expando ] ?
         
     | 
| 
       2102 
1855 
     | 
    
         
             
            				markFunction( function( seed, matches, _context, xml ) {
         
     | 
| 
         @@ -2115,22 +1868,23 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2115 
1868 
     | 
    
         
             
            					input[ 0 ] = elem;
         
     | 
| 
       2116 
1869 
     | 
    
         
             
            					matcher( input, null, xml, results );
         
     | 
| 
       2117 
1870 
     | 
    
         | 
| 
       2118 
     | 
    
         
            -
            					// Don't keep the element 
     | 
| 
      
 1871 
     | 
    
         
            +
            					// Don't keep the element
         
     | 
| 
      
 1872 
     | 
    
         
            +
            					// (see https://github.com/jquery/sizzle/issues/299)
         
     | 
| 
       2119 
1873 
     | 
    
         
             
            					input[ 0 ] = null;
         
     | 
| 
       2120 
1874 
     | 
    
         
             
            					return !results.pop();
         
     | 
| 
       2121 
1875 
     | 
    
         
             
            				};
         
     | 
| 
       2122 
1876 
     | 
    
         
             
            		} ),
         
     | 
| 
       2123 
1877 
     | 
    
         | 
| 
       2124 
     | 
    
         
            -
            		 
     | 
| 
      
 1878 
     | 
    
         
            +
            		has: markFunction( function( selector ) {
         
     | 
| 
       2125 
1879 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       2126 
     | 
    
         
            -
            				return  
     | 
| 
      
 1880 
     | 
    
         
            +
            				return find( selector, elem ).length > 0;
         
     | 
| 
       2127 
1881 
     | 
    
         
             
            			};
         
     | 
| 
       2128 
1882 
     | 
    
         
             
            		} ),
         
     | 
| 
       2129 
1883 
     | 
    
         | 
| 
       2130 
     | 
    
         
            -
            		 
     | 
| 
      
 1884 
     | 
    
         
            +
            		contains: markFunction( function( text ) {
         
     | 
| 
       2131 
1885 
     | 
    
         
             
            			text = text.replace( runescape, funescape );
         
     | 
| 
       2132 
1886 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       2133 
     | 
    
         
            -
            				return ( elem.textContent ||  
     | 
| 
      
 1887 
     | 
    
         
            +
            				return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
         
     | 
| 
       2134 
1888 
     | 
    
         
             
            			};
         
     | 
| 
       2135 
1889 
     | 
    
         
             
            		} ),
         
     | 
| 
       2136 
1890 
     | 
    
         | 
| 
         @@ -2140,12 +1894,12 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2140 
1894 
     | 
    
         
             
            		// or beginning with the identifier C immediately followed by "-".
         
     | 
| 
       2141 
1895 
     | 
    
         
             
            		// The matching of C against the element's language value is performed case-insensitively.
         
     | 
| 
       2142 
1896 
     | 
    
         
             
            		// The identifier C does not have to be a valid language name."
         
     | 
| 
       2143 
     | 
    
         
            -
            		//  
     | 
| 
       2144 
     | 
    
         
            -
            		 
     | 
| 
      
 1897 
     | 
    
         
            +
            		// https://www.w3.org/TR/selectors/#lang-pseudo
         
     | 
| 
      
 1898 
     | 
    
         
            +
            		lang: markFunction( function( lang ) {
         
     | 
| 
       2145 
1899 
     | 
    
         | 
| 
       2146 
1900 
     | 
    
         
             
            			// lang value must be a valid identifier
         
     | 
| 
       2147 
1901 
     | 
    
         
             
            			if ( !ridentifier.test( lang || "" ) ) {
         
     | 
| 
       2148 
     | 
    
         
            -
            				 
     | 
| 
      
 1902 
     | 
    
         
            +
            				find.error( "unsupported lang: " + lang );
         
     | 
| 
       2149 
1903 
     | 
    
         
             
            			}
         
     | 
| 
       2150 
1904 
     | 
    
         
             
            			lang = lang.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
       2151 
1905 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
         @@ -2164,38 +1918,39 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2164 
1918 
     | 
    
         
             
            		} ),
         
     | 
| 
       2165 
1919 
     | 
    
         | 
| 
       2166 
1920 
     | 
    
         
             
            		// Miscellaneous
         
     | 
| 
       2167 
     | 
    
         
            -
            		 
     | 
| 
      
 1921 
     | 
    
         
            +
            		target: function( elem ) {
         
     | 
| 
       2168 
1922 
     | 
    
         
             
            			var hash = window.location && window.location.hash;
         
     | 
| 
       2169 
1923 
     | 
    
         
             
            			return hash && hash.slice( 1 ) === elem.id;
         
     | 
| 
       2170 
1924 
     | 
    
         
             
            		},
         
     | 
| 
       2171 
1925 
     | 
    
         | 
| 
       2172 
     | 
    
         
            -
            		 
     | 
| 
       2173 
     | 
    
         
            -
            			return elem ===  
     | 
| 
      
 1926 
     | 
    
         
            +
            		root: function( elem ) {
         
     | 
| 
      
 1927 
     | 
    
         
            +
            			return elem === documentElement;
         
     | 
| 
       2174 
1928 
     | 
    
         
             
            		},
         
     | 
| 
       2175 
1929 
     | 
    
         | 
| 
       2176 
     | 
    
         
            -
            		 
     | 
| 
       2177 
     | 
    
         
            -
            			return elem ===  
     | 
| 
       2178 
     | 
    
         
            -
            				 
     | 
| 
      
 1930 
     | 
    
         
            +
            		focus: function( elem ) {
         
     | 
| 
      
 1931 
     | 
    
         
            +
            			return elem === safeActiveElement() &&
         
     | 
| 
      
 1932 
     | 
    
         
            +
            				document.hasFocus() &&
         
     | 
| 
       2179 
1933 
     | 
    
         
             
            				!!( elem.type || elem.href || ~elem.tabIndex );
         
     | 
| 
       2180 
1934 
     | 
    
         
             
            		},
         
     | 
| 
       2181 
1935 
     | 
    
         | 
| 
       2182 
1936 
     | 
    
         
             
            		// Boolean properties
         
     | 
| 
       2183 
     | 
    
         
            -
            		 
     | 
| 
       2184 
     | 
    
         
            -
            		 
     | 
| 
      
 1937 
     | 
    
         
            +
            		enabled: createDisabledPseudo( false ),
         
     | 
| 
      
 1938 
     | 
    
         
            +
            		disabled: createDisabledPseudo( true ),
         
     | 
| 
       2185 
1939 
     | 
    
         | 
| 
       2186 
     | 
    
         
            -
            		 
     | 
| 
      
 1940 
     | 
    
         
            +
            		checked: function( elem ) {
         
     | 
| 
       2187 
1941 
     | 
    
         | 
| 
       2188 
1942 
     | 
    
         
             
            			// In CSS3, :checked should return both checked and selected elements
         
     | 
| 
       2189 
     | 
    
         
            -
            			//  
     | 
| 
       2190 
     | 
    
         
            -
            			 
     | 
| 
       2191 
     | 
    
         
            -
             
     | 
| 
       2192 
     | 
    
         
            -
            				( nodeName === "option" && !!elem.selected );
         
     | 
| 
      
 1943 
     | 
    
         
            +
            			// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
      
 1944 
     | 
    
         
            +
            			return ( nodeName( elem, "input" ) && !!elem.checked ) ||
         
     | 
| 
      
 1945 
     | 
    
         
            +
            				( nodeName( elem, "option" ) && !!elem.selected );
         
     | 
| 
       2193 
1946 
     | 
    
         
             
            		},
         
     | 
| 
       2194 
1947 
     | 
    
         | 
| 
       2195 
     | 
    
         
            -
            		 
     | 
| 
      
 1948 
     | 
    
         
            +
            		selected: function( elem ) {
         
     | 
| 
       2196 
1949 
     | 
    
         | 
| 
       2197 
     | 
    
         
            -
            			//  
     | 
| 
       2198 
     | 
    
         
            -
            			//  
     | 
| 
      
 1950 
     | 
    
         
            +
            			// Support: IE <=11+
         
     | 
| 
      
 1951 
     | 
    
         
            +
            			// Accessing the selectedIndex property
         
     | 
| 
      
 1952 
     | 
    
         
            +
            			// forces the browser to treat the default option as
         
     | 
| 
      
 1953 
     | 
    
         
            +
            			// selected when in an optgroup.
         
     | 
| 
       2199 
1954 
     | 
    
         
             
            			if ( elem.parentNode ) {
         
     | 
| 
       2200 
1955 
     | 
    
         
             
            				// eslint-disable-next-line no-unused-expressions
         
     | 
| 
       2201 
1956 
     | 
    
         
             
            				elem.parentNode.selectedIndex;
         
     | 
| 
         @@ -2205,9 +1960,9 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2205 
1960 
     | 
    
         
             
            		},
         
     | 
| 
       2206 
1961 
     | 
    
         | 
| 
       2207 
1962 
     | 
    
         
             
            		// Contents
         
     | 
| 
       2208 
     | 
    
         
            -
            		 
     | 
| 
      
 1963 
     | 
    
         
            +
            		empty: function( elem ) {
         
     | 
| 
       2209 
1964 
     | 
    
         | 
| 
       2210 
     | 
    
         
            -
            			//  
     | 
| 
      
 1965 
     | 
    
         
            +
            			// https://www.w3.org/TR/selectors/#empty-pseudo
         
     | 
| 
       2211 
1966 
     | 
    
         
             
            			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
         
     | 
| 
       2212 
1967 
     | 
    
         
             
            			//   but not by others (comment: 8; processing instruction: 7; etc.)
         
     | 
| 
       2213 
1968 
     | 
    
         
             
            			// nodeType < 6 works because attributes (2) do not appear as children
         
     | 
| 
         @@ -2219,49 +1974,49 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2219 
1974 
     | 
    
         
             
            			return true;
         
     | 
| 
       2220 
1975 
     | 
    
         
             
            		},
         
     | 
| 
       2221 
1976 
     | 
    
         | 
| 
       2222 
     | 
    
         
            -
            		 
     | 
| 
       2223 
     | 
    
         
            -
            			return !Expr.pseudos 
     | 
| 
      
 1977 
     | 
    
         
            +
            		parent: function( elem ) {
         
     | 
| 
      
 1978 
     | 
    
         
            +
            			return !Expr.pseudos.empty( elem );
         
     | 
| 
       2224 
1979 
     | 
    
         
             
            		},
         
     | 
| 
       2225 
1980 
     | 
    
         | 
| 
       2226 
1981 
     | 
    
         
             
            		// Element/input types
         
     | 
| 
       2227 
     | 
    
         
            -
            		 
     | 
| 
      
 1982 
     | 
    
         
            +
            		header: function( elem ) {
         
     | 
| 
       2228 
1983 
     | 
    
         
             
            			return rheader.test( elem.nodeName );
         
     | 
| 
       2229 
1984 
     | 
    
         
             
            		},
         
     | 
| 
       2230 
1985 
     | 
    
         | 
| 
       2231 
     | 
    
         
            -
            		 
     | 
| 
      
 1986 
     | 
    
         
            +
            		input: function( elem ) {
         
     | 
| 
       2232 
1987 
     | 
    
         
             
            			return rinputs.test( elem.nodeName );
         
     | 
| 
       2233 
1988 
     | 
    
         
             
            		},
         
     | 
| 
       2234 
1989 
     | 
    
         | 
| 
       2235 
     | 
    
         
            -
            		 
     | 
| 
       2236 
     | 
    
         
            -
            			 
     | 
| 
       2237 
     | 
    
         
            -
             
     | 
| 
      
 1990 
     | 
    
         
            +
            		button: function( elem ) {
         
     | 
| 
      
 1991 
     | 
    
         
            +
            			return nodeName( elem, "input" ) && elem.type === "button" ||
         
     | 
| 
      
 1992 
     | 
    
         
            +
            				nodeName( elem, "button" );
         
     | 
| 
       2238 
1993 
     | 
    
         
             
            		},
         
     | 
| 
       2239 
1994 
     | 
    
         | 
| 
       2240 
     | 
    
         
            -
            		 
     | 
| 
      
 1995 
     | 
    
         
            +
            		text: function( elem ) {
         
     | 
| 
       2241 
1996 
     | 
    
         
             
            			var attr;
         
     | 
| 
       2242 
     | 
    
         
            -
            			return  
     | 
| 
       2243 
     | 
    
         
            -
            				elem.type === "text" &&
         
     | 
| 
      
 1997 
     | 
    
         
            +
            			return nodeName( elem, "input" ) && elem.type === "text" &&
         
     | 
| 
       2244 
1998 
     | 
    
         | 
| 
       2245 
     | 
    
         
            -
            				// Support: IE< 
     | 
| 
       2246 
     | 
    
         
            -
            				// New HTML5 attribute values (e.g., "search") appear 
     | 
| 
      
 1999 
     | 
    
         
            +
            				// Support: IE <10 only
         
     | 
| 
      
 2000 
     | 
    
         
            +
            				// New HTML5 attribute values (e.g., "search") appear
         
     | 
| 
      
 2001 
     | 
    
         
            +
            				// with elem.type === "text"
         
     | 
| 
       2247 
2002 
     | 
    
         
             
            				( ( attr = elem.getAttribute( "type" ) ) == null ||
         
     | 
| 
       2248 
2003 
     | 
    
         
             
            					attr.toLowerCase() === "text" );
         
     | 
| 
       2249 
2004 
     | 
    
         
             
            		},
         
     | 
| 
       2250 
2005 
     | 
    
         | 
| 
       2251 
2006 
     | 
    
         
             
            		// Position-in-collection
         
     | 
| 
       2252 
     | 
    
         
            -
            		 
     | 
| 
      
 2007 
     | 
    
         
            +
            		first: createPositionalPseudo( function() {
         
     | 
| 
       2253 
2008 
     | 
    
         
             
            			return [ 0 ];
         
     | 
| 
       2254 
2009 
     | 
    
         
             
            		} ),
         
     | 
| 
       2255 
2010 
     | 
    
         | 
| 
       2256 
     | 
    
         
            -
            		 
     | 
| 
      
 2011 
     | 
    
         
            +
            		last: createPositionalPseudo( function( _matchIndexes, length ) {
         
     | 
| 
       2257 
2012 
     | 
    
         
             
            			return [ length - 1 ];
         
     | 
| 
       2258 
2013 
     | 
    
         
             
            		} ),
         
     | 
| 
       2259 
2014 
     | 
    
         | 
| 
       2260 
     | 
    
         
            -
            		 
     | 
| 
      
 2015 
     | 
    
         
            +
            		eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
         
     | 
| 
       2261 
2016 
     | 
    
         
             
            			return [ argument < 0 ? argument + length : argument ];
         
     | 
| 
       2262 
2017 
     | 
    
         
             
            		} ),
         
     | 
| 
       2263 
2018 
     | 
    
         | 
| 
       2264 
     | 
    
         
            -
            		 
     | 
| 
      
 2019 
     | 
    
         
            +
            		even: createPositionalPseudo( function( matchIndexes, length ) {
         
     | 
| 
       2265 
2020 
     | 
    
         
             
            			var i = 0;
         
     | 
| 
       2266 
2021 
     | 
    
         
             
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
       2267 
2022 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
         @@ -2269,7 +2024,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2269 
2024 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2270 
2025 
     | 
    
         
             
            		} ),
         
     | 
| 
       2271 
2026 
     | 
    
         | 
| 
       2272 
     | 
    
         
            -
            		 
     | 
| 
      
 2027 
     | 
    
         
            +
            		odd: createPositionalPseudo( function( matchIndexes, length ) {
         
     | 
| 
       2273 
2028 
     | 
    
         
             
            			var i = 1;
         
     | 
| 
       2274 
2029 
     | 
    
         
             
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
       2275 
2030 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
         @@ -2277,19 +2032,24 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2277 
2032 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2278 
2033 
     | 
    
         
             
            		} ),
         
     | 
| 
       2279 
2034 
     | 
    
         | 
| 
       2280 
     | 
    
         
            -
            		 
     | 
| 
       2281 
     | 
    
         
            -
            			var i 
     | 
| 
       2282 
     | 
    
         
            -
             
     | 
| 
       2283 
     | 
    
         
            -
             
     | 
| 
       2284 
     | 
    
         
            -
             
     | 
| 
       2285 
     | 
    
         
            -
             
     | 
| 
      
 2035 
     | 
    
         
            +
            		lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
         
     | 
| 
      
 2036 
     | 
    
         
            +
            			var i;
         
     | 
| 
      
 2037 
     | 
    
         
            +
             
     | 
| 
      
 2038 
     | 
    
         
            +
            			if ( argument < 0 ) {
         
     | 
| 
      
 2039 
     | 
    
         
            +
            				i = argument + length;
         
     | 
| 
      
 2040 
     | 
    
         
            +
            			} else if ( argument > length ) {
         
     | 
| 
      
 2041 
     | 
    
         
            +
            				i = length;
         
     | 
| 
      
 2042 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 2043 
     | 
    
         
            +
            				i = argument;
         
     | 
| 
      
 2044 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2045 
     | 
    
         
            +
             
     | 
| 
       2286 
2046 
     | 
    
         
             
            			for ( ; --i >= 0; ) {
         
     | 
| 
       2287 
2047 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
       2288 
2048 
     | 
    
         
             
            			}
         
     | 
| 
       2289 
2049 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2290 
2050 
     | 
    
         
             
            		} ),
         
     | 
| 
       2291 
2051 
     | 
    
         | 
| 
       2292 
     | 
    
         
            -
            		 
     | 
| 
      
 2052 
     | 
    
         
            +
            		gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
         
     | 
| 
       2293 
2053 
     | 
    
         
             
            			var i = argument < 0 ? argument + length : argument;
         
     | 
| 
       2294 
2054 
     | 
    
         
             
            			for ( ; ++i < length; ) {
         
     | 
| 
       2295 
2055 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
         @@ -2299,7 +2059,7 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2299 
2059 
     | 
    
         
             
            	}
         
     | 
| 
       2300 
2060 
     | 
    
         
             
            };
         
     | 
| 
       2301 
2061 
     | 
    
         | 
| 
       2302 
     | 
    
         
            -
            Expr.pseudos 
     | 
| 
      
 2062 
     | 
    
         
            +
            Expr.pseudos.nth = Expr.pseudos.eq;
         
     | 
| 
       2303 
2063 
     | 
    
         | 
| 
       2304 
2064 
     | 
    
         
             
            // Add button/input type pseudos
         
     | 
| 
       2305 
2065 
     | 
    
         
             
            for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
         
     | 
| 
         @@ -2314,7 +2074,7 @@ function setFilters() {} 
     | 
|
| 
       2314 
2074 
     | 
    
         
             
            setFilters.prototype = Expr.filters = Expr.pseudos;
         
     | 
| 
       2315 
2075 
     | 
    
         
             
            Expr.setFilters = new setFilters();
         
     | 
| 
       2316 
2076 
     | 
    
         | 
| 
       2317 
     | 
    
         
            -
             
     | 
| 
      
 2077 
     | 
    
         
            +
            function tokenize( selector, parseOnly ) {
         
     | 
| 
       2318 
2078 
     | 
    
         
             
            	var matched, match, tokens, type,
         
     | 
| 
       2319 
2079 
     | 
    
         
             
            		soFar, groups, preFilters,
         
     | 
| 
       2320 
2080 
     | 
    
         
             
            		cached = tokenCache[ selector + " " ];
         
     | 
| 
         @@ -2342,13 +2102,13 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 
     | 
|
| 
       2342 
2102 
     | 
    
         
             
            		matched = false;
         
     | 
| 
       2343 
2103 
     | 
    
         | 
| 
       2344 
2104 
     | 
    
         
             
            		// Combinators
         
     | 
| 
       2345 
     | 
    
         
            -
            		if ( ( match =  
     | 
| 
      
 2105 
     | 
    
         
            +
            		if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
         
     | 
| 
       2346 
2106 
     | 
    
         
             
            			matched = match.shift();
         
     | 
| 
       2347 
2107 
     | 
    
         
             
            			tokens.push( {
         
     | 
| 
       2348 
2108 
     | 
    
         
             
            				value: matched,
         
     | 
| 
       2349 
2109 
     | 
    
         | 
| 
       2350 
2110 
     | 
    
         
             
            				// Cast descendant combinators to space
         
     | 
| 
       2351 
     | 
    
         
            -
            				type: match[ 0 ].replace(  
     | 
| 
      
 2111 
     | 
    
         
            +
            				type: match[ 0 ].replace( rtrimCSS, " " )
         
     | 
| 
       2352 
2112 
     | 
    
         
             
            			} );
         
     | 
| 
       2353 
2113 
     | 
    
         
             
            			soFar = soFar.slice( matched.length );
         
     | 
| 
       2354 
2114 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -2375,14 +2135,16 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 
     | 
|
| 
       2375 
2135 
     | 
    
         
             
            	// Return the length of the invalid excess
         
     | 
| 
       2376 
2136 
     | 
    
         
             
            	// if we're just parsing
         
     | 
| 
       2377 
2137 
     | 
    
         
             
            	// Otherwise, throw an error or return tokens
         
     | 
| 
       2378 
     | 
    
         
            -
            	 
     | 
| 
       2379 
     | 
    
         
            -
            		soFar.length 
     | 
| 
       2380 
     | 
    
         
            -
             
     | 
| 
       2381 
     | 
    
         
            -
            			Sizzle.error( selector ) :
         
     | 
| 
      
 2138 
     | 
    
         
            +
            	if ( parseOnly ) {
         
     | 
| 
      
 2139 
     | 
    
         
            +
            		return soFar.length;
         
     | 
| 
      
 2140 
     | 
    
         
            +
            	}
         
     | 
| 
       2382 
2141 
     | 
    
         | 
| 
       2383 
     | 
    
         
            -
             
     | 
| 
       2384 
     | 
    
         
            -
             
     | 
| 
       2385 
     | 
    
         
            -
             
     | 
| 
      
 2142 
     | 
    
         
            +
            	return soFar ?
         
     | 
| 
      
 2143 
     | 
    
         
            +
            		find.error( selector ) :
         
     | 
| 
      
 2144 
     | 
    
         
            +
             
     | 
| 
      
 2145 
     | 
    
         
            +
            		// Cache the tokens
         
     | 
| 
      
 2146 
     | 
    
         
            +
            		tokenCache( selector, groups ).slice( 0 );
         
     | 
| 
      
 2147 
     | 
    
         
            +
            }
         
     | 
| 
       2386 
2148 
     | 
    
         | 
| 
       2387 
2149 
     | 
    
         
             
            function toSelector( tokens ) {
         
     | 
| 
       2388 
2150 
     | 
    
         
             
            	var i = 0,
         
     | 
| 
         @@ -2415,7 +2177,7 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2415 
2177 
     | 
    
         | 
| 
       2416 
2178 
     | 
    
         
             
            		// Check against all ancestor/preceding elements
         
     | 
| 
       2417 
2179 
     | 
    
         
             
            		function( elem, context, xml ) {
         
     | 
| 
       2418 
     | 
    
         
            -
            			var oldCache,  
     | 
| 
      
 2180 
     | 
    
         
            +
            			var oldCache, outerCache,
         
     | 
| 
       2419 
2181 
     | 
    
         
             
            				newCache = [ dirruns, doneName ];
         
     | 
| 
       2420 
2182 
     | 
    
         | 
| 
       2421 
2183 
     | 
    
         
             
            			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
         
     | 
| 
         @@ -2432,14 +2194,9 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2432 
2194 
     | 
    
         
             
            					if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
       2433 
2195 
     | 
    
         
             
            						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
         
     | 
| 
       2434 
2196 
     | 
    
         | 
| 
       2435 
     | 
    
         
            -
            						 
     | 
| 
       2436 
     | 
    
         
            -
            						// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       2437 
     | 
    
         
            -
            						uniqueCache = outerCache[ elem.uniqueID ] ||
         
     | 
| 
       2438 
     | 
    
         
            -
            							( outerCache[ elem.uniqueID ] = {} );
         
     | 
| 
       2439 
     | 
    
         
            -
             
     | 
| 
       2440 
     | 
    
         
            -
            						if ( skip && skip === elem.nodeName.toLowerCase() ) {
         
     | 
| 
      
 2197 
     | 
    
         
            +
            						if ( skip && nodeName( elem, skip ) ) {
         
     | 
| 
       2441 
2198 
     | 
    
         
             
            							elem = elem[ dir ] || elem;
         
     | 
| 
       2442 
     | 
    
         
            -
            						} else if ( ( oldCache =  
     | 
| 
      
 2199 
     | 
    
         
            +
            						} else if ( ( oldCache = outerCache[ key ] ) &&
         
     | 
| 
       2443 
2200 
     | 
    
         
             
            							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
         
     | 
| 
       2444 
2201 
     | 
    
         | 
| 
       2445 
2202 
     | 
    
         
             
            							// Assign to newCache so results back-propagate to previous elements
         
     | 
| 
         @@ -2447,7 +2204,7 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2447 
2204 
     | 
    
         
             
            						} else {
         
     | 
| 
       2448 
2205 
     | 
    
         | 
| 
       2449 
2206 
     | 
    
         
             
            							// Reuse newcache so results back-propagate to previous elements
         
     | 
| 
       2450 
     | 
    
         
            -
            							 
     | 
| 
      
 2207 
     | 
    
         
            +
            							outerCache[ key ] = newCache;
         
     | 
| 
       2451 
2208 
     | 
    
         | 
| 
       2452 
2209 
     | 
    
         
             
            							// A match means we're done; a fail means we have to keep checking
         
     | 
| 
       2453 
2210 
     | 
    
         
             
            							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
         
     | 
| 
         @@ -2479,7 +2236,7 @@ function multipleContexts( selector, contexts, results ) { 
     | 
|
| 
       2479 
2236 
     | 
    
         
             
            	var i = 0,
         
     | 
| 
       2480 
2237 
     | 
    
         
             
            		len = contexts.length;
         
     | 
| 
       2481 
2238 
     | 
    
         
             
            	for ( ; i < len; i++ ) {
         
     | 
| 
       2482 
     | 
    
         
            -
            		 
     | 
| 
      
 2239 
     | 
    
         
            +
            		find( selector, contexts[ i ], results );
         
     | 
| 
       2483 
2240 
     | 
    
         
             
            	}
         
     | 
| 
       2484 
2241 
     | 
    
         
             
            	return results;
         
     | 
| 
       2485 
2242 
     | 
    
         
             
            }
         
     | 
| 
         @@ -2513,38 +2270,37 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2513 
2270 
     | 
    
         
             
            		postFinder = setMatcher( postFinder, postSelector );
         
     | 
| 
       2514 
2271 
     | 
    
         
             
            	}
         
     | 
| 
       2515 
2272 
     | 
    
         
             
            	return markFunction( function( seed, results, context, xml ) {
         
     | 
| 
       2516 
     | 
    
         
            -
            		var temp, i, elem,
         
     | 
| 
      
 2273 
     | 
    
         
            +
            		var temp, i, elem, matcherOut,
         
     | 
| 
       2517 
2274 
     | 
    
         
             
            			preMap = [],
         
     | 
| 
       2518 
2275 
     | 
    
         
             
            			postMap = [],
         
     | 
| 
       2519 
2276 
     | 
    
         
             
            			preexisting = results.length,
         
     | 
| 
       2520 
2277 
     | 
    
         | 
| 
       2521 
2278 
     | 
    
         
             
            			// Get initial elements from seed or context
         
     | 
| 
       2522 
     | 
    
         
            -
            			elems = seed || 
     | 
| 
       2523 
     | 
    
         
            -
            				selector || "*",
         
     | 
| 
       2524 
     | 
    
         
            -
             
     | 
| 
       2525 
     | 
    
         
            -
            				[]
         
     | 
| 
       2526 
     | 
    
         
            -
            			),
         
     | 
| 
      
 2279 
     | 
    
         
            +
            			elems = seed ||
         
     | 
| 
      
 2280 
     | 
    
         
            +
            				multipleContexts( selector || "*",
         
     | 
| 
      
 2281 
     | 
    
         
            +
            					context.nodeType ? [ context ] : context, [] ),
         
     | 
| 
       2527 
2282 
     | 
    
         | 
| 
       2528 
2283 
     | 
    
         
             
            			// Prefilter to get matcher input, preserving a map for seed-results synchronization
         
     | 
| 
       2529 
2284 
     | 
    
         
             
            			matcherIn = preFilter && ( seed || !selector ) ?
         
     | 
| 
       2530 
2285 
     | 
    
         
             
            				condense( elems, preMap, preFilter, context, xml ) :
         
     | 
| 
       2531 
     | 
    
         
            -
            				elems 
     | 
| 
      
 2286 
     | 
    
         
            +
            				elems;
         
     | 
| 
       2532 
2287 
     | 
    
         | 
| 
       2533 
     | 
    
         
            -
             
     | 
| 
      
 2288 
     | 
    
         
            +
            		if ( matcher ) {
         
     | 
| 
       2534 
2289 
     | 
    
         | 
| 
       2535 
     | 
    
         
            -
             
     | 
| 
       2536 
     | 
    
         
            -
             
     | 
| 
      
 2290 
     | 
    
         
            +
            			// If we have a postFinder, or filtered seed, or non-seed postFilter
         
     | 
| 
      
 2291 
     | 
    
         
            +
            			// or preexisting results,
         
     | 
| 
      
 2292 
     | 
    
         
            +
            			matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
         
     | 
| 
       2537 
2293 
     | 
    
         | 
| 
       2538 
     | 
    
         
            -
             
     | 
| 
       2539 
     | 
    
         
            -
             
     | 
| 
      
 2294 
     | 
    
         
            +
            				// ...intermediate processing is necessary
         
     | 
| 
      
 2295 
     | 
    
         
            +
            				[] :
         
     | 
| 
       2540 
2296 
     | 
    
         | 
| 
       2541 
     | 
    
         
            -
             
     | 
| 
       2542 
     | 
    
         
            -
             
     | 
| 
       2543 
     | 
    
         
            -
            				matcherIn;
         
     | 
| 
      
 2297 
     | 
    
         
            +
            				// ...otherwise use results directly
         
     | 
| 
      
 2298 
     | 
    
         
            +
            				results;
         
     | 
| 
       2544 
2299 
     | 
    
         | 
| 
       2545 
     | 
    
         
            -
             
     | 
| 
       2546 
     | 
    
         
            -
            		if ( matcher ) {
         
     | 
| 
      
 2300 
     | 
    
         
            +
            			// Find primary matches
         
     | 
| 
       2547 
2301 
     | 
    
         
             
            			matcher( matcherIn, matcherOut, context, xml );
         
     | 
| 
      
 2302 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 2303 
     | 
    
         
            +
            			matcherOut = matcherIn;
         
     | 
| 
       2548 
2304 
     | 
    
         
             
            		}
         
     | 
| 
       2549 
2305 
     | 
    
         | 
| 
       2550 
2306 
     | 
    
         
             
            		// Apply postFilter
         
     | 
| 
         @@ -2582,7 +2338,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2582 
2338 
     | 
    
         
             
            				i = matcherOut.length;
         
     | 
| 
       2583 
2339 
     | 
    
         
             
            				while ( i-- ) {
         
     | 
| 
       2584 
2340 
     | 
    
         
             
            					if ( ( elem = matcherOut[ i ] ) &&
         
     | 
| 
       2585 
     | 
    
         
            -
            						( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
         
     | 
| 
      
 2341 
     | 
    
         
            +
            						( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {
         
     | 
| 
       2586 
2342 
     | 
    
         | 
| 
       2587 
2343 
     | 
    
         
             
            						seed[ temp ] = !( results[ temp ] = elem );
         
     | 
| 
       2588 
2344 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -2617,15 +2373,21 @@ function matcherFromTokens( tokens ) { 
     | 
|
| 
       2617 
2373 
     | 
    
         
             
            			return elem === checkContext;
         
     | 
| 
       2618 
2374 
     | 
    
         
             
            		}, implicitRelative, true ),
         
     | 
| 
       2619 
2375 
     | 
    
         
             
            		matchAnyContext = addCombinator( function( elem ) {
         
     | 
| 
       2620 
     | 
    
         
            -
            			return indexOf( checkContext, elem ) > -1;
         
     | 
| 
      
 2376 
     | 
    
         
            +
            			return indexOf.call( checkContext, elem ) > -1;
         
     | 
| 
       2621 
2377 
     | 
    
         
             
            		}, implicitRelative, true ),
         
     | 
| 
       2622 
2378 
     | 
    
         
             
            		matchers = [ function( elem, context, xml ) {
         
     | 
| 
       2623 
     | 
    
         
            -
             
     | 
| 
      
 2379 
     | 
    
         
            +
             
     | 
| 
      
 2380 
     | 
    
         
            +
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 2381 
     | 
    
         
            +
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 2382 
     | 
    
         
            +
            			// two documents; shallow comparisons work.
         
     | 
| 
      
 2383 
     | 
    
         
            +
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 2384 
     | 
    
         
            +
            			var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
         
     | 
| 
       2624 
2385 
     | 
    
         
             
            				( checkContext = context ).nodeType ?
         
     | 
| 
       2625 
2386 
     | 
    
         
             
            					matchContext( elem, context, xml ) :
         
     | 
| 
       2626 
2387 
     | 
    
         
             
            					matchAnyContext( elem, context, xml ) );
         
     | 
| 
       2627 
2388 
     | 
    
         | 
| 
       2628 
     | 
    
         
            -
            			// Avoid hanging onto element 
     | 
| 
      
 2389 
     | 
    
         
            +
            			// Avoid hanging onto element
         
     | 
| 
      
 2390 
     | 
    
         
            +
            			// (see https://github.com/jquery/sizzle/issues/299)
         
     | 
| 
       2629 
2391 
     | 
    
         
             
            			checkContext = null;
         
     | 
| 
       2630 
2392 
     | 
    
         
             
            			return ret;
         
     | 
| 
       2631 
2393 
     | 
    
         
             
            		} ];
         
     | 
| 
         @@ -2650,11 +2412,10 @@ function matcherFromTokens( tokens ) { 
     | 
|
| 
       2650 
2412 
     | 
    
         
             
            					i > 1 && elementMatcher( matchers ),
         
     | 
| 
       2651 
2413 
     | 
    
         
             
            					i > 1 && toSelector(
         
     | 
| 
       2652 
2414 
     | 
    
         | 
| 
       2653 
     | 
    
         
            -
             
     | 
| 
       2654 
     | 
    
         
            -
             
     | 
| 
       2655 
     | 
    
         
            -
             
     | 
| 
       2656 
     | 
    
         
            -
             
     | 
| 
       2657 
     | 
    
         
            -
            					).replace( rtrim, "$1" ),
         
     | 
| 
      
 2415 
     | 
    
         
            +
            						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
         
     | 
| 
      
 2416 
     | 
    
         
            +
            						tokens.slice( 0, i - 1 )
         
     | 
| 
      
 2417 
     | 
    
         
            +
            							.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
         
     | 
| 
      
 2418 
     | 
    
         
            +
            					).replace( rtrimCSS, "$1" ),
         
     | 
| 
       2658 
2419 
     | 
    
         
             
            					matcher,
         
     | 
| 
       2659 
2420 
     | 
    
         
             
            					i < j && matcherFromTokens( tokens.slice( i, j ) ),
         
     | 
| 
       2660 
2421 
     | 
    
         
             
            					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
         
     | 
| 
         @@ -2680,7 +2441,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2680 
2441 
     | 
    
         
             
            				contextBackup = outermostContext,
         
     | 
| 
       2681 
2442 
     | 
    
         | 
| 
       2682 
2443 
     | 
    
         
             
            				// We must always have either seed elements or outermost context
         
     | 
| 
       2683 
     | 
    
         
            -
            				elems = seed || byElement && Expr.find 
     | 
| 
      
 2444 
     | 
    
         
            +
            				elems = seed || byElement && Expr.find.TAG( "*", outermost ),
         
     | 
| 
       2684 
2445 
     | 
    
         | 
| 
       2685 
2446 
     | 
    
         
             
            				// Use integer dirruns iff this is the outermost matcher
         
     | 
| 
       2686 
2447 
     | 
    
         
             
            				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
         
     | 
| 
         @@ -2696,8 +2457,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2696 
2457 
     | 
    
         
             
            			}
         
     | 
| 
       2697 
2458 
     | 
    
         | 
| 
       2698 
2459 
     | 
    
         
             
            			// Add elements passing elementMatchers directly to results
         
     | 
| 
       2699 
     | 
    
         
            -
            			// Support:  
     | 
| 
       2700 
     | 
    
         
            -
            			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching 
     | 
| 
      
 2460 
     | 
    
         
            +
            			// Support: iOS <=7 - 9 only
         
     | 
| 
      
 2461 
     | 
    
         
            +
            			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching
         
     | 
| 
      
 2462 
     | 
    
         
            +
            			// elements by id. (see trac-14142)
         
     | 
| 
       2701 
2463 
     | 
    
         
             
            			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
         
     | 
| 
       2702 
2464 
     | 
    
         
             
            				if ( byElement && elem ) {
         
     | 
| 
       2703 
2465 
     | 
    
         
             
            					j = 0;
         
     | 
| 
         @@ -2712,7 +2474,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2712 
2474 
     | 
    
         
             
            					}
         
     | 
| 
       2713 
2475 
     | 
    
         
             
            					while ( ( matcher = elementMatchers[ j++ ] ) ) {
         
     | 
| 
       2714 
2476 
     | 
    
         
             
            						if ( matcher( elem, context || document, xml ) ) {
         
     | 
| 
       2715 
     | 
    
         
            -
            							 
     | 
| 
      
 2477 
     | 
    
         
            +
            							push.call( results, elem );
         
     | 
| 
       2716 
2478 
     | 
    
         
             
            							break;
         
     | 
| 
       2717 
2479 
     | 
    
         
             
            						}
         
     | 
| 
       2718 
2480 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -2775,7 +2537,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2775 
2537 
     | 
    
         
             
            				if ( outermost && !seed && setMatched.length > 0 &&
         
     | 
| 
       2776 
2538 
     | 
    
         
             
            					( matchedCount + setMatchers.length ) > 1 ) {
         
     | 
| 
       2777 
2539 
     | 
    
         | 
| 
       2778 
     | 
    
         
            -
            					 
     | 
| 
      
 2540 
     | 
    
         
            +
            					jQuery.uniqueSort( results );
         
     | 
| 
       2779 
2541 
     | 
    
         
             
            				}
         
     | 
| 
       2780 
2542 
     | 
    
         
             
            			}
         
     | 
| 
       2781 
2543 
     | 
    
         | 
| 
         @@ -2793,7 +2555,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2793 
2555 
     | 
    
         
             
            		superMatcher;
         
     | 
| 
       2794 
2556 
     | 
    
         
             
            }
         
     | 
| 
       2795 
2557 
     | 
    
         | 
| 
       2796 
     | 
    
         
            -
             
     | 
| 
      
 2558 
     | 
    
         
            +
            function compile( selector, match /* Internal Use Only */ ) {
         
     | 
| 
       2797 
2559 
     | 
    
         
             
            	var i,
         
     | 
| 
       2798 
2560 
     | 
    
         
             
            		setMatchers = [],
         
     | 
| 
       2799 
2561 
     | 
    
         
             
            		elementMatchers = [],
         
     | 
| 
         @@ -2816,27 +2578,25 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 
     | 
|
| 
       2816 
2578 
     | 
    
         
             
            		}
         
     | 
| 
       2817 
2579 
     | 
    
         | 
| 
       2818 
2580 
     | 
    
         
             
            		// Cache the compiled function
         
     | 
| 
       2819 
     | 
    
         
            -
            		cached = compilerCache(
         
     | 
| 
       2820 
     | 
    
         
            -
            			 
     | 
| 
       2821 
     | 
    
         
            -
            			matcherFromGroupMatchers( elementMatchers, setMatchers )
         
     | 
| 
       2822 
     | 
    
         
            -
            		);
         
     | 
| 
      
 2581 
     | 
    
         
            +
            		cached = compilerCache( selector,
         
     | 
| 
      
 2582 
     | 
    
         
            +
            			matcherFromGroupMatchers( elementMatchers, setMatchers ) );
         
     | 
| 
       2823 
2583 
     | 
    
         | 
| 
       2824 
2584 
     | 
    
         
             
            		// Save selector and tokenization
         
     | 
| 
       2825 
2585 
     | 
    
         
             
            		cached.selector = selector;
         
     | 
| 
       2826 
2586 
     | 
    
         
             
            	}
         
     | 
| 
       2827 
2587 
     | 
    
         
             
            	return cached;
         
     | 
| 
       2828 
     | 
    
         
            -
            } 
     | 
| 
      
 2588 
     | 
    
         
            +
            }
         
     | 
| 
       2829 
2589 
     | 
    
         | 
| 
       2830 
2590 
     | 
    
         
             
            /**
         
     | 
| 
       2831 
     | 
    
         
            -
             * A low-level selection function that works with  
     | 
| 
      
 2591 
     | 
    
         
            +
             * A low-level selection function that works with jQuery's compiled
         
     | 
| 
       2832 
2592 
     | 
    
         
             
             *  selector functions
         
     | 
| 
       2833 
2593 
     | 
    
         
             
             * @param {String|Function} selector A selector or a pre-compiled
         
     | 
| 
       2834 
     | 
    
         
            -
             *  selector function built with  
     | 
| 
      
 2594 
     | 
    
         
            +
             *  selector function built with jQuery selector compile
         
     | 
| 
       2835 
2595 
     | 
    
         
             
             * @param {Element} context
         
     | 
| 
       2836 
2596 
     | 
    
         
             
             * @param {Array} [results]
         
     | 
| 
       2837 
2597 
     | 
    
         
             
             * @param {Array} [seed] A set of elements to match against
         
     | 
| 
       2838 
2598 
     | 
    
         
             
             */
         
     | 
| 
       2839 
     | 
    
         
            -
             
     | 
| 
      
 2599 
     | 
    
         
            +
            function select( selector, context, results, seed ) {
         
     | 
| 
       2840 
2600 
     | 
    
         
             
            	var i, tokens, token, type, find,
         
     | 
| 
       2841 
2601 
     | 
    
         
             
            		compiled = typeof selector === "function" && selector,
         
     | 
| 
       2842 
2602 
     | 
    
         
             
            		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
         
     | 
| 
         @@ -2850,10 +2610,12 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2850 
2610 
     | 
    
         
             
            		// Reduce context if the leading compound selector is an ID
         
     | 
| 
       2851 
2611 
     | 
    
         
             
            		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
         
     | 
| 
       2852 
2612 
     | 
    
         
             
            		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
         
     | 
| 
       2853 
     | 
    
         
            -
             
     | 
| 
      
 2613 
     | 
    
         
            +
            				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
         
     | 
| 
       2854 
2614 
     | 
    
         | 
| 
       2855 
     | 
    
         
            -
            			context = ( Expr.find 
     | 
| 
       2856 
     | 
    
         
            -
            				.replace( runescape, funescape ), 
     | 
| 
      
 2615 
     | 
    
         
            +
            			context = ( Expr.find.ID(
         
     | 
| 
      
 2616 
     | 
    
         
            +
            				token.matches[ 0 ].replace( runescape, funescape ),
         
     | 
| 
      
 2617 
     | 
    
         
            +
            				context
         
     | 
| 
      
 2618 
     | 
    
         
            +
            			) || [] )[ 0 ];
         
     | 
| 
       2857 
2619 
     | 
    
         
             
            			if ( !context ) {
         
     | 
| 
       2858 
2620 
     | 
    
         
             
            				return results;
         
     | 
| 
       2859 
2621 
     | 
    
         | 
| 
         @@ -2866,7 +2628,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2866 
2628 
     | 
    
         
             
            		}
         
     | 
| 
       2867 
2629 
     | 
    
         | 
| 
       2868 
2630 
     | 
    
         
             
            		// Fetch a seed set for right-to-left matching
         
     | 
| 
       2869 
     | 
    
         
            -
            		i = matchExpr 
     | 
| 
      
 2631 
     | 
    
         
            +
            		i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
         
     | 
| 
       2870 
2632 
     | 
    
         
             
            		while ( i-- ) {
         
     | 
| 
       2871 
2633 
     | 
    
         
             
            			token = tokens[ i ];
         
     | 
| 
       2872 
2634 
     | 
    
         | 
| 
         @@ -2879,8 +2641,8 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2879 
2641 
     | 
    
         
             
            				// Search, expanding context for leading sibling combinators
         
     | 
| 
       2880 
2642 
     | 
    
         
             
            				if ( ( seed = find(
         
     | 
| 
       2881 
2643 
     | 
    
         
             
            					token.matches[ 0 ].replace( runescape, funescape ),
         
     | 
| 
       2882 
     | 
    
         
            -
            					rsibling.test( tokens[ 0 ].type ) && 
     | 
| 
       2883 
     | 
    
         
            -
            						context
         
     | 
| 
      
 2644 
     | 
    
         
            +
            					rsibling.test( tokens[ 0 ].type ) &&
         
     | 
| 
      
 2645 
     | 
    
         
            +
            						testContext( context.parentNode ) || context
         
     | 
| 
       2884 
2646 
     | 
    
         
             
            				) ) ) {
         
     | 
| 
       2885 
2647 
     | 
    
         | 
| 
       2886 
2648 
     | 
    
         
             
            					// If seed is empty or no tokens remain, we can return early
         
     | 
| 
         @@ -2907,21 +2669,18 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2907 
2669 
     | 
    
         
             
            		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
         
     | 
| 
       2908 
2670 
     | 
    
         
             
            	);
         
     | 
| 
       2909 
2671 
     | 
    
         
             
            	return results;
         
     | 
| 
       2910 
     | 
    
         
            -
            } 
     | 
| 
      
 2672 
     | 
    
         
            +
            }
         
     | 
| 
       2911 
2673 
     | 
    
         | 
| 
       2912 
2674 
     | 
    
         
             
            // One-time assignments
         
     | 
| 
       2913 
2675 
     | 
    
         | 
| 
      
 2676 
     | 
    
         
            +
            // Support: Android <=4.0 - 4.1+
         
     | 
| 
       2914 
2677 
     | 
    
         
             
            // Sort stability
         
     | 
| 
       2915 
2678 
     | 
    
         
             
            support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
         
     | 
| 
       2916 
2679 
     | 
    
         | 
| 
       2917 
     | 
    
         
            -
            // Support: Chrome 14-35+
         
     | 
| 
       2918 
     | 
    
         
            -
            // Always assume duplicates if they aren't passed to the comparison function
         
     | 
| 
       2919 
     | 
    
         
            -
            support.detectDuplicates = !!hasDuplicate;
         
     | 
| 
       2920 
     | 
    
         
            -
             
     | 
| 
       2921 
2680 
     | 
    
         
             
            // Initialize against the default document
         
     | 
| 
       2922 
2681 
     | 
    
         
             
            setDocument();
         
     | 
| 
       2923 
2682 
     | 
    
         | 
| 
       2924 
     | 
    
         
            -
            // Support:  
     | 
| 
      
 2683 
     | 
    
         
            +
            // Support: Android <=4.0 - 4.1+
         
     | 
| 
       2925 
2684 
     | 
    
         
             
            // Detached nodes confoundingly follow *each other*
         
     | 
| 
       2926 
2685 
     | 
    
         
             
            support.sortDetached = assert( function( el ) {
         
     | 
| 
       2927 
2686 
     | 
    
         | 
| 
         @@ -2929,68 +2688,29 @@ support.sortDetached = assert( function( el ) { 
     | 
|
| 
       2929 
2688 
     | 
    
         
             
            	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
         
     | 
| 
       2930 
2689 
     | 
    
         
             
            } );
         
     | 
| 
       2931 
2690 
     | 
    
         | 
| 
       2932 
     | 
    
         
            -
             
     | 
| 
       2933 
     | 
    
         
            -
            // Prevent attribute/property "interpolation"
         
     | 
| 
       2934 
     | 
    
         
            -
            // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
         
     | 
| 
       2935 
     | 
    
         
            -
            if ( !assert( function( el ) {
         
     | 
| 
       2936 
     | 
    
         
            -
            	el.innerHTML = "<a href='#'></a>";
         
     | 
| 
       2937 
     | 
    
         
            -
            	return el.firstChild.getAttribute( "href" ) === "#";
         
     | 
| 
       2938 
     | 
    
         
            -
            } ) ) {
         
     | 
| 
       2939 
     | 
    
         
            -
            	addHandle( "type|href|height|width", function( elem, name, isXML ) {
         
     | 
| 
       2940 
     | 
    
         
            -
            		if ( !isXML ) {
         
     | 
| 
       2941 
     | 
    
         
            -
            			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
         
     | 
| 
       2942 
     | 
    
         
            -
            		}
         
     | 
| 
       2943 
     | 
    
         
            -
            	} );
         
     | 
| 
       2944 
     | 
    
         
            -
            }
         
     | 
| 
       2945 
     | 
    
         
            -
             
     | 
| 
       2946 
     | 
    
         
            -
            // Support: IE<9
         
     | 
| 
       2947 
     | 
    
         
            -
            // Use defaultValue in place of getAttribute("value")
         
     | 
| 
       2948 
     | 
    
         
            -
            if ( !support.attributes || !assert( function( el ) {
         
     | 
| 
       2949 
     | 
    
         
            -
            	el.innerHTML = "<input/>";
         
     | 
| 
       2950 
     | 
    
         
            -
            	el.firstChild.setAttribute( "value", "" );
         
     | 
| 
       2951 
     | 
    
         
            -
            	return el.firstChild.getAttribute( "value" ) === "";
         
     | 
| 
       2952 
     | 
    
         
            -
            } ) ) {
         
     | 
| 
       2953 
     | 
    
         
            -
            	addHandle( "value", function( elem, _name, isXML ) {
         
     | 
| 
       2954 
     | 
    
         
            -
            		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
         
     | 
| 
       2955 
     | 
    
         
            -
            			return elem.defaultValue;
         
     | 
| 
       2956 
     | 
    
         
            -
            		}
         
     | 
| 
       2957 
     | 
    
         
            -
            	} );
         
     | 
| 
       2958 
     | 
    
         
            -
            }
         
     | 
| 
       2959 
     | 
    
         
            -
             
     | 
| 
       2960 
     | 
    
         
            -
            // Support: IE<9
         
     | 
| 
       2961 
     | 
    
         
            -
            // Use getAttributeNode to fetch booleans when getAttribute lies
         
     | 
| 
       2962 
     | 
    
         
            -
            if ( !assert( function( el ) {
         
     | 
| 
       2963 
     | 
    
         
            -
            	return el.getAttribute( "disabled" ) == null;
         
     | 
| 
       2964 
     | 
    
         
            -
            } ) ) {
         
     | 
| 
       2965 
     | 
    
         
            -
            	addHandle( booleans, function( elem, name, isXML ) {
         
     | 
| 
       2966 
     | 
    
         
            -
            		var val;
         
     | 
| 
       2967 
     | 
    
         
            -
            		if ( !isXML ) {
         
     | 
| 
       2968 
     | 
    
         
            -
            			return elem[ name ] === true ? name.toLowerCase() :
         
     | 
| 
       2969 
     | 
    
         
            -
            				( val = elem.getAttributeNode( name ) ) && val.specified ?
         
     | 
| 
       2970 
     | 
    
         
            -
            					val.value :
         
     | 
| 
       2971 
     | 
    
         
            -
            					null;
         
     | 
| 
       2972 
     | 
    
         
            -
            		}
         
     | 
| 
       2973 
     | 
    
         
            -
            	} );
         
     | 
| 
       2974 
     | 
    
         
            -
            }
         
     | 
| 
       2975 
     | 
    
         
            -
             
     | 
| 
       2976 
     | 
    
         
            -
            return Sizzle;
         
     | 
| 
       2977 
     | 
    
         
            -
             
     | 
| 
       2978 
     | 
    
         
            -
            } )( window );
         
     | 
| 
       2979 
     | 
    
         
            -
             
     | 
| 
       2980 
     | 
    
         
            -
             
     | 
| 
       2981 
     | 
    
         
            -
             
     | 
| 
       2982 
     | 
    
         
            -
            jQuery.find = Sizzle;
         
     | 
| 
       2983 
     | 
    
         
            -
            jQuery.expr = Sizzle.selectors;
         
     | 
| 
      
 2691 
     | 
    
         
            +
            jQuery.find = find;
         
     | 
| 
       2984 
2692 
     | 
    
         | 
| 
       2985 
2693 
     | 
    
         
             
            // Deprecated
         
     | 
| 
       2986 
2694 
     | 
    
         
             
            jQuery.expr[ ":" ] = jQuery.expr.pseudos;
         
     | 
| 
       2987 
     | 
    
         
            -
            jQuery. 
     | 
| 
       2988 
     | 
    
         
            -
             
     | 
| 
       2989 
     | 
    
         
            -
             
     | 
| 
       2990 
     | 
    
         
            -
             
     | 
| 
       2991 
     | 
    
         
            -
             
     | 
| 
      
 2695 
     | 
    
         
            +
            jQuery.unique = jQuery.uniqueSort;
         
     | 
| 
      
 2696 
     | 
    
         
            +
             
     | 
| 
      
 2697 
     | 
    
         
            +
            // These have always been private, but they used to be documented
         
     | 
| 
      
 2698 
     | 
    
         
            +
            // as part of Sizzle so let's maintain them in the 3.x line
         
     | 
| 
      
 2699 
     | 
    
         
            +
            // for backwards compatibility purposes.
         
     | 
| 
      
 2700 
     | 
    
         
            +
            find.compile = compile;
         
     | 
| 
      
 2701 
     | 
    
         
            +
            find.select = select;
         
     | 
| 
      
 2702 
     | 
    
         
            +
            find.setDocument = setDocument;
         
     | 
| 
       2992 
2703 
     | 
    
         | 
| 
      
 2704 
     | 
    
         
            +
            find.escape = jQuery.escapeSelector;
         
     | 
| 
      
 2705 
     | 
    
         
            +
            find.getText = jQuery.text;
         
     | 
| 
      
 2706 
     | 
    
         
            +
            find.isXML = jQuery.isXMLDoc;
         
     | 
| 
      
 2707 
     | 
    
         
            +
            find.selectors = jQuery.expr;
         
     | 
| 
      
 2708 
     | 
    
         
            +
            find.support = jQuery.support;
         
     | 
| 
      
 2709 
     | 
    
         
            +
            find.uniqueSort = jQuery.uniqueSort;
         
     | 
| 
       2993 
2710 
     | 
    
         | 
| 
      
 2711 
     | 
    
         
            +
            	/* eslint-enable */
         
     | 
| 
      
 2712 
     | 
    
         
            +
             
     | 
| 
      
 2713 
     | 
    
         
            +
            } )();
         
     | 
| 
       2994 
2714 
     | 
    
         | 
| 
       2995 
2715 
     | 
    
         | 
| 
       2996 
2716 
     | 
    
         
             
            var dir = function( elem, dir, until ) {
         
     | 
| 
         @@ -3024,13 +2744,6 @@ var siblings = function( n, elem ) { 
     | 
|
| 
       3024 
2744 
     | 
    
         | 
| 
       3025 
2745 
     | 
    
         
             
            var rneedsContext = jQuery.expr.match.needsContext;
         
     | 
| 
       3026 
2746 
     | 
    
         | 
| 
       3027 
     | 
    
         
            -
             
     | 
| 
       3028 
     | 
    
         
            -
             
     | 
| 
       3029 
     | 
    
         
            -
            function nodeName( elem, name ) {
         
     | 
| 
       3030 
     | 
    
         
            -
             
     | 
| 
       3031 
     | 
    
         
            -
            	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
         
     | 
| 
       3032 
     | 
    
         
            -
             
     | 
| 
       3033 
     | 
    
         
            -
            }
         
     | 
| 
       3034 
2747 
     | 
    
         
             
            var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
         
     | 
| 
       3035 
2748 
     | 
    
         | 
| 
       3036 
2749 
     | 
    
         | 
| 
         @@ -3281,7 +2994,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       3281 
2994 
     | 
    
         
             
            					if ( cur.nodeType < 11 && ( targets ?
         
     | 
| 
       3282 
2995 
     | 
    
         
             
            						targets.index( cur ) > -1 :
         
     | 
| 
       3283 
2996 
     | 
    
         | 
| 
       3284 
     | 
    
         
            -
            						// Don't pass non-elements to  
     | 
| 
      
 2997 
     | 
    
         
            +
            						// Don't pass non-elements to jQuery#find
         
     | 
| 
       3285 
2998 
     | 
    
         
             
            						cur.nodeType === 1 &&
         
     | 
| 
       3286 
2999 
     | 
    
         
             
            							jQuery.find.matchesSelector( cur, selectors ) ) ) {
         
     | 
| 
       3287 
3000 
     | 
    
         | 
| 
         @@ -3836,7 +3549,7 @@ jQuery.extend( { 
     | 
|
| 
       3836 
3549 
     | 
    
         | 
| 
       3837 
3550 
     | 
    
         
             
            											if ( jQuery.Deferred.exceptionHook ) {
         
     | 
| 
       3838 
3551 
     | 
    
         
             
            												jQuery.Deferred.exceptionHook( e,
         
     | 
| 
       3839 
     | 
    
         
            -
            													process. 
     | 
| 
      
 3552 
     | 
    
         
            +
            													process.error );
         
     | 
| 
       3840 
3553 
     | 
    
         
             
            											}
         
     | 
| 
       3841 
3554 
     | 
    
         | 
| 
       3842 
3555 
     | 
    
         
             
            											// Support: Promises/A+ section 2.3.3.3.4.1
         
     | 
| 
         @@ -3864,10 +3577,17 @@ jQuery.extend( { 
     | 
|
| 
       3864 
3577 
     | 
    
         
             
            								process();
         
     | 
| 
       3865 
3578 
     | 
    
         
             
            							} else {
         
     | 
| 
       3866 
3579 
     | 
    
         | 
| 
       3867 
     | 
    
         
            -
            								// Call an optional hook to record the  
     | 
| 
      
 3580 
     | 
    
         
            +
            								// Call an optional hook to record the error, in case of exception
         
     | 
| 
       3868 
3581 
     | 
    
         
             
            								// since it's otherwise lost when execution goes async
         
     | 
| 
       3869 
     | 
    
         
            -
            								if ( jQuery.Deferred. 
     | 
| 
       3870 
     | 
    
         
            -
            									process. 
     | 
| 
      
 3582 
     | 
    
         
            +
            								if ( jQuery.Deferred.getErrorHook ) {
         
     | 
| 
      
 3583 
     | 
    
         
            +
            									process.error = jQuery.Deferred.getErrorHook();
         
     | 
| 
      
 3584 
     | 
    
         
            +
             
     | 
| 
      
 3585 
     | 
    
         
            +
            								// The deprecated alias of the above. While the name suggests
         
     | 
| 
      
 3586 
     | 
    
         
            +
            								// returning the stack, not an error instance, jQuery just passes
         
     | 
| 
      
 3587 
     | 
    
         
            +
            								// it directly to `console.warn` so both will work; an instance
         
     | 
| 
      
 3588 
     | 
    
         
            +
            								// just better cooperates with source maps.
         
     | 
| 
      
 3589 
     | 
    
         
            +
            								} else if ( jQuery.Deferred.getStackHook ) {
         
     | 
| 
      
 3590 
     | 
    
         
            +
            									process.error = jQuery.Deferred.getStackHook();
         
     | 
| 
       3871 
3591 
     | 
    
         
             
            								}
         
     | 
| 
       3872 
3592 
     | 
    
         
             
            								window.setTimeout( process );
         
     | 
| 
       3873 
3593 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -4042,12 +3762,16 @@ jQuery.extend( { 
     | 
|
| 
       4042 
3762 
     | 
    
         
             
            // warn about them ASAP rather than swallowing them by default.
         
     | 
| 
       4043 
3763 
     | 
    
         
             
            var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
         
     | 
| 
       4044 
3764 
     | 
    
         | 
| 
       4045 
     | 
    
         
            -
            jQuery.Deferred. 
     | 
| 
      
 3765 
     | 
    
         
            +
            // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
         
     | 
| 
      
 3766 
     | 
    
         
            +
            // captured before the async barrier to get the original error cause
         
     | 
| 
      
 3767 
     | 
    
         
            +
            // which may otherwise be hidden.
         
     | 
| 
      
 3768 
     | 
    
         
            +
            jQuery.Deferred.exceptionHook = function( error, asyncError ) {
         
     | 
| 
       4046 
3769 
     | 
    
         | 
| 
       4047 
3770 
     | 
    
         
             
            	// Support: IE 8 - 9 only
         
     | 
| 
       4048 
3771 
     | 
    
         
             
            	// Console exists when dev tools are open, which can happen at any time
         
     | 
| 
       4049 
3772 
     | 
    
         
             
            	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
         
     | 
| 
       4050 
     | 
    
         
            -
            		window.console.warn( "jQuery.Deferred exception: " + error.message, 
     | 
| 
      
 3773 
     | 
    
         
            +
            		window.console.warn( "jQuery.Deferred exception: " + error.message,
         
     | 
| 
      
 3774 
     | 
    
         
            +
            			error.stack, asyncError );
         
     | 
| 
       4051 
3775 
     | 
    
         
             
            	}
         
     | 
| 
       4052 
3776 
     | 
    
         
             
            };
         
     | 
| 
       4053 
3777 
     | 
    
         | 
| 
         @@ -5103,25 +4827,6 @@ function returnFalse() { 
     | 
|
| 
       5103 
4827 
     | 
    
         
             
            	return false;
         
     | 
| 
       5104 
4828 
     | 
    
         
             
            }
         
     | 
| 
       5105 
4829 
     | 
    
         | 
| 
       5106 
     | 
    
         
            -
            // Support: IE <=9 - 11+
         
     | 
| 
       5107 
     | 
    
         
            -
            // focus() and blur() are asynchronous, except when they are no-op.
         
     | 
| 
       5108 
     | 
    
         
            -
            // So expect focus to be synchronous when the element is already active,
         
     | 
| 
       5109 
     | 
    
         
            -
            // and blur to be synchronous when the element is not already active.
         
     | 
| 
       5110 
     | 
    
         
            -
            // (focus and blur are always synchronous in other supported browsers,
         
     | 
| 
       5111 
     | 
    
         
            -
            // this just defines when we can count on it).
         
     | 
| 
       5112 
     | 
    
         
            -
            function expectSync( elem, type ) {
         
     | 
| 
       5113 
     | 
    
         
            -
            	return ( elem === safeActiveElement() ) === ( type === "focus" );
         
     | 
| 
       5114 
     | 
    
         
            -
            }
         
     | 
| 
       5115 
     | 
    
         
            -
             
     | 
| 
       5116 
     | 
    
         
            -
            // Support: IE <=9 only
         
     | 
| 
       5117 
     | 
    
         
            -
            // Accessing document.activeElement can throw unexpectedly
         
     | 
| 
       5118 
     | 
    
         
            -
            // https://bugs.jquery.com/ticket/13393
         
     | 
| 
       5119 
     | 
    
         
            -
            function safeActiveElement() {
         
     | 
| 
       5120 
     | 
    
         
            -
            	try {
         
     | 
| 
       5121 
     | 
    
         
            -
            		return document.activeElement;
         
     | 
| 
       5122 
     | 
    
         
            -
            	} catch ( err ) { }
         
     | 
| 
       5123 
     | 
    
         
            -
            }
         
     | 
| 
       5124 
     | 
    
         
            -
             
     | 
| 
       5125 
4830 
     | 
    
         
             
            function on( elem, types, selector, data, fn, one ) {
         
     | 
| 
       5126 
4831 
     | 
    
         
             
            	var origFn, type;
         
     | 
| 
       5127 
4832 
     | 
    
         | 
| 
         @@ -5559,7 +5264,7 @@ jQuery.event = { 
     | 
|
| 
       5559 
5264 
     | 
    
         
             
            					el.click && nodeName( el, "input" ) ) {
         
     | 
| 
       5560 
5265 
     | 
    
         | 
| 
       5561 
5266 
     | 
    
         
             
            					// dataPriv.set( el, "click", ... )
         
     | 
| 
       5562 
     | 
    
         
            -
            					leverageNative( el, "click",  
     | 
| 
      
 5267 
     | 
    
         
            +
            					leverageNative( el, "click", true );
         
     | 
| 
       5563 
5268 
     | 
    
         
             
            				}
         
     | 
| 
       5564 
5269 
     | 
    
         | 
| 
       5565 
5270 
     | 
    
         
             
            				// Return false to allow normal processing in the caller
         
     | 
| 
         @@ -5610,10 +5315,10 @@ jQuery.event = { 
     | 
|
| 
       5610 
5315 
     | 
    
         
             
            // synthetic events by interrupting progress until reinvoked in response to
         
     | 
| 
       5611 
5316 
     | 
    
         
             
            // *native* events that it fires directly, ensuring that state changes have
         
     | 
| 
       5612 
5317 
     | 
    
         
             
            // already occurred before other listeners are invoked.
         
     | 
| 
       5613 
     | 
    
         
            -
            function leverageNative( el, type,  
     | 
| 
      
 5318 
     | 
    
         
            +
            function leverageNative( el, type, isSetup ) {
         
     | 
| 
       5614 
5319 
     | 
    
         | 
| 
       5615 
     | 
    
         
            -
            	// Missing  
     | 
| 
       5616 
     | 
    
         
            -
            	if ( ! 
     | 
| 
      
 5320 
     | 
    
         
            +
            	// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
         
     | 
| 
      
 5321 
     | 
    
         
            +
            	if ( !isSetup ) {
         
     | 
| 
       5617 
5322 
     | 
    
         
             
            		if ( dataPriv.get( el, type ) === undefined ) {
         
     | 
| 
       5618 
5323 
     | 
    
         
             
            			jQuery.event.add( el, type, returnTrue );
         
     | 
| 
       5619 
5324 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -5625,15 +5330,13 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5625 
5330 
     | 
    
         
             
            	jQuery.event.add( el, type, {
         
     | 
| 
       5626 
5331 
     | 
    
         
             
            		namespace: false,
         
     | 
| 
       5627 
5332 
     | 
    
         
             
            		handler: function( event ) {
         
     | 
| 
       5628 
     | 
    
         
            -
            			var  
     | 
| 
      
 5333 
     | 
    
         
            +
            			var result,
         
     | 
| 
       5629 
5334 
     | 
    
         
             
            				saved = dataPriv.get( this, type );
         
     | 
| 
       5630 
5335 
     | 
    
         | 
| 
       5631 
5336 
     | 
    
         
             
            			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
         
     | 
| 
       5632 
5337 
     | 
    
         | 
| 
       5633 
5338 
     | 
    
         
             
            				// Interrupt processing of the outer synthetic .trigger()ed event
         
     | 
| 
       5634 
     | 
    
         
            -
            				 
     | 
| 
       5635 
     | 
    
         
            -
            				// from an async native handler (gh-4350)
         
     | 
| 
       5636 
     | 
    
         
            -
            				if ( !saved.length ) {
         
     | 
| 
      
 5339 
     | 
    
         
            +
            				if ( !saved ) {
         
     | 
| 
       5637 
5340 
     | 
    
         | 
| 
       5638 
5341 
     | 
    
         
             
            					// Store arguments for use when handling the inner native event
         
     | 
| 
       5639 
5342 
     | 
    
         
             
            					// There will always be at least one argument (an event object), so this array
         
     | 
| 
         @@ -5642,33 +5345,22 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5642 
5345 
     | 
    
         
             
            					dataPriv.set( this, type, saved );
         
     | 
| 
       5643 
5346 
     | 
    
         | 
| 
       5644 
5347 
     | 
    
         
             
            					// Trigger the native event and capture its result
         
     | 
| 
       5645 
     | 
    
         
            -
            					// Support: IE <=9 - 11+
         
     | 
| 
       5646 
     | 
    
         
            -
            					// focus() and blur() are asynchronous
         
     | 
| 
       5647 
     | 
    
         
            -
            					notAsync = expectSync( this, type );
         
     | 
| 
       5648 
5348 
     | 
    
         
             
            					this[ type ]();
         
     | 
| 
       5649 
5349 
     | 
    
         
             
            					result = dataPriv.get( this, type );
         
     | 
| 
       5650 
     | 
    
         
            -
            					 
     | 
| 
       5651 
     | 
    
         
            -
             
     | 
| 
       5652 
     | 
    
         
            -
            					} else {
         
     | 
| 
       5653 
     | 
    
         
            -
            						result = {};
         
     | 
| 
       5654 
     | 
    
         
            -
            					}
         
     | 
| 
      
 5350 
     | 
    
         
            +
            					dataPriv.set( this, type, false );
         
     | 
| 
      
 5351 
     | 
    
         
            +
             
     | 
| 
       5655 
5352 
     | 
    
         
             
            					if ( saved !== result ) {
         
     | 
| 
       5656 
5353 
     | 
    
         | 
| 
       5657 
5354 
     | 
    
         
             
            						// Cancel the outer synthetic event
         
     | 
| 
       5658 
5355 
     | 
    
         
             
            						event.stopImmediatePropagation();
         
     | 
| 
       5659 
5356 
     | 
    
         
             
            						event.preventDefault();
         
     | 
| 
       5660 
5357 
     | 
    
         | 
| 
       5661 
     | 
    
         
            -
            						 
     | 
| 
       5662 
     | 
    
         
            -
            						// In Chrome, if an element having a focusout handler is blurred by
         
     | 
| 
       5663 
     | 
    
         
            -
            						// clicking outside of it, it invokes the handler synchronously. If
         
     | 
| 
       5664 
     | 
    
         
            -
            						// that handler calls `.remove()` on the element, the data is cleared,
         
     | 
| 
       5665 
     | 
    
         
            -
            						// leaving `result` undefined. We need to guard against this.
         
     | 
| 
       5666 
     | 
    
         
            -
            						return result && result.value;
         
     | 
| 
      
 5358 
     | 
    
         
            +
            						return result;
         
     | 
| 
       5667 
5359 
     | 
    
         
             
            					}
         
     | 
| 
       5668 
5360 
     | 
    
         | 
| 
       5669 
5361 
     | 
    
         
             
            				// If this is an inner synthetic event for an event with a bubbling surrogate
         
     | 
| 
       5670 
     | 
    
         
            -
            				// (focus or blur), assume that the surrogate already propagated from triggering 
     | 
| 
       5671 
     | 
    
         
            -
            				// native event and prevent that from happening again here.
         
     | 
| 
      
 5362 
     | 
    
         
            +
            				// (focus or blur), assume that the surrogate already propagated from triggering
         
     | 
| 
      
 5363 
     | 
    
         
            +
            				// the native event and prevent that from happening again here.
         
     | 
| 
       5672 
5364 
     | 
    
         
             
            				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
         
     | 
| 
       5673 
5365 
     | 
    
         
             
            				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
         
     | 
| 
       5674 
5366 
     | 
    
         
             
            				// less bad than duplication.
         
     | 
| 
         @@ -5678,22 +5370,25 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5678 
5370 
     | 
    
         | 
| 
       5679 
5371 
     | 
    
         
             
            			// If this is a native event triggered above, everything is now in order
         
     | 
| 
       5680 
5372 
     | 
    
         
             
            			// Fire an inner synthetic event with the original arguments
         
     | 
| 
       5681 
     | 
    
         
            -
            			} else if ( saved 
     | 
| 
      
 5373 
     | 
    
         
            +
            			} else if ( saved ) {
         
     | 
| 
       5682 
5374 
     | 
    
         | 
| 
       5683 
5375 
     | 
    
         
             
            				// ...and capture the result
         
     | 
| 
       5684 
     | 
    
         
            -
            				dataPriv.set( this, type,  
     | 
| 
       5685 
     | 
    
         
            -
            					 
     | 
| 
       5686 
     | 
    
         
            -
             
     | 
| 
       5687 
     | 
    
         
            -
             
     | 
| 
       5688 
     | 
    
         
            -
             
     | 
| 
       5689 
     | 
    
         
            -
             
     | 
| 
       5690 
     | 
    
         
            -
             
     | 
| 
       5691 
     | 
    
         
            -
             
     | 
| 
       5692 
     | 
    
         
            -
             
     | 
| 
       5693 
     | 
    
         
            -
            				 
     | 
| 
       5694 
     | 
    
         
            -
             
     | 
| 
       5695 
     | 
    
         
            -
            				//  
     | 
| 
       5696 
     | 
    
         
            -
            				 
     | 
| 
      
 5376 
     | 
    
         
            +
            				dataPriv.set( this, type, jQuery.event.trigger(
         
     | 
| 
      
 5377 
     | 
    
         
            +
            					saved[ 0 ],
         
     | 
| 
      
 5378 
     | 
    
         
            +
            					saved.slice( 1 ),
         
     | 
| 
      
 5379 
     | 
    
         
            +
            					this
         
     | 
| 
      
 5380 
     | 
    
         
            +
            				) );
         
     | 
| 
      
 5381 
     | 
    
         
            +
             
     | 
| 
      
 5382 
     | 
    
         
            +
            				// Abort handling of the native event by all jQuery handlers while allowing
         
     | 
| 
      
 5383 
     | 
    
         
            +
            				// native handlers on the same element to run. On target, this is achieved
         
     | 
| 
      
 5384 
     | 
    
         
            +
            				// by stopping immediate propagation just on the jQuery event. However,
         
     | 
| 
      
 5385 
     | 
    
         
            +
            				// the native event is re-wrapped by a jQuery one on each level of the
         
     | 
| 
      
 5386 
     | 
    
         
            +
            				// propagation so the only way to stop it for jQuery is to stop it for
         
     | 
| 
      
 5387 
     | 
    
         
            +
            				// everyone via native `stopPropagation()`. This is not a problem for
         
     | 
| 
      
 5388 
     | 
    
         
            +
            				// focus/blur which don't bubble, but it does also stop click on checkboxes
         
     | 
| 
      
 5389 
     | 
    
         
            +
            				// and radios. We accept this limitation.
         
     | 
| 
      
 5390 
     | 
    
         
            +
            				event.stopPropagation();
         
     | 
| 
      
 5391 
     | 
    
         
            +
            				event.isImmediatePropagationStopped = returnTrue;
         
     | 
| 
       5697 
5392 
     | 
    
         
             
            			}
         
     | 
| 
       5698 
5393 
     | 
    
         
             
            		}
         
     | 
| 
       5699 
5394 
     | 
    
         
             
            	} );
         
     | 
| 
         @@ -5832,18 +5527,73 @@ jQuery.each( { 
     | 
|
| 
       5832 
5527 
     | 
    
         
             
            }, jQuery.event.addProp );
         
     | 
| 
       5833 
5528 
     | 
    
         | 
| 
       5834 
5529 
     | 
    
         
             
            jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
         
     | 
| 
      
 5530 
     | 
    
         
            +
             
     | 
| 
      
 5531 
     | 
    
         
            +
            	function focusMappedHandler( nativeEvent ) {
         
     | 
| 
      
 5532 
     | 
    
         
            +
            		if ( document.documentMode ) {
         
     | 
| 
      
 5533 
     | 
    
         
            +
             
     | 
| 
      
 5534 
     | 
    
         
            +
            			// Support: IE 11+
         
     | 
| 
      
 5535 
     | 
    
         
            +
            			// Attach a single focusin/focusout handler on the document while someone wants
         
     | 
| 
      
 5536 
     | 
    
         
            +
            			// focus/blur. This is because the former are synchronous in IE while the latter
         
     | 
| 
      
 5537 
     | 
    
         
            +
            			// are async. In other browsers, all those handlers are invoked synchronously.
         
     | 
| 
      
 5538 
     | 
    
         
            +
             
     | 
| 
      
 5539 
     | 
    
         
            +
            			// `handle` from private data would already wrap the event, but we need
         
     | 
| 
      
 5540 
     | 
    
         
            +
            			// to change the `type` here.
         
     | 
| 
      
 5541 
     | 
    
         
            +
            			var handle = dataPriv.get( this, "handle" ),
         
     | 
| 
      
 5542 
     | 
    
         
            +
            				event = jQuery.event.fix( nativeEvent );
         
     | 
| 
      
 5543 
     | 
    
         
            +
            			event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
         
     | 
| 
      
 5544 
     | 
    
         
            +
            			event.isSimulated = true;
         
     | 
| 
      
 5545 
     | 
    
         
            +
             
     | 
| 
      
 5546 
     | 
    
         
            +
            			// First, handle focusin/focusout
         
     | 
| 
      
 5547 
     | 
    
         
            +
            			handle( nativeEvent );
         
     | 
| 
      
 5548 
     | 
    
         
            +
             
     | 
| 
      
 5549 
     | 
    
         
            +
            			// ...then, handle focus/blur
         
     | 
| 
      
 5550 
     | 
    
         
            +
            			//
         
     | 
| 
      
 5551 
     | 
    
         
            +
            			// focus/blur don't bubble while focusin/focusout do; simulate the former by only
         
     | 
| 
      
 5552 
     | 
    
         
            +
            			// invoking the handler at the lower level.
         
     | 
| 
      
 5553 
     | 
    
         
            +
            			if ( event.target === event.currentTarget ) {
         
     | 
| 
      
 5554 
     | 
    
         
            +
             
     | 
| 
      
 5555 
     | 
    
         
            +
            				// The setup part calls `leverageNative`, which, in turn, calls
         
     | 
| 
      
 5556 
     | 
    
         
            +
            				// `jQuery.event.add`, so event handle will already have been set
         
     | 
| 
      
 5557 
     | 
    
         
            +
            				// by this point.
         
     | 
| 
      
 5558 
     | 
    
         
            +
            				handle( event );
         
     | 
| 
      
 5559 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5560 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 5561 
     | 
    
         
            +
             
     | 
| 
      
 5562 
     | 
    
         
            +
            			// For non-IE browsers, attach a single capturing handler on the document
         
     | 
| 
      
 5563 
     | 
    
         
            +
            			// while someone wants focusin/focusout.
         
     | 
| 
      
 5564 
     | 
    
         
            +
            			jQuery.event.simulate( delegateType, nativeEvent.target,
         
     | 
| 
      
 5565 
     | 
    
         
            +
            				jQuery.event.fix( nativeEvent ) );
         
     | 
| 
      
 5566 
     | 
    
         
            +
            		}
         
     | 
| 
      
 5567 
     | 
    
         
            +
            	}
         
     | 
| 
      
 5568 
     | 
    
         
            +
             
     | 
| 
       5835 
5569 
     | 
    
         
             
            	jQuery.event.special[ type ] = {
         
     | 
| 
       5836 
5570 
     | 
    
         | 
| 
       5837 
5571 
     | 
    
         
             
            		// Utilize native event if possible so blur/focus sequence is correct
         
     | 
| 
       5838 
5572 
     | 
    
         
             
            		setup: function() {
         
     | 
| 
       5839 
5573 
     | 
    
         | 
| 
      
 5574 
     | 
    
         
            +
            			var attaches;
         
     | 
| 
      
 5575 
     | 
    
         
            +
             
     | 
| 
       5840 
5576 
     | 
    
         
             
            			// Claim the first handler
         
     | 
| 
       5841 
5577 
     | 
    
         
             
            			// dataPriv.set( this, "focus", ... )
         
     | 
| 
       5842 
5578 
     | 
    
         
             
            			// dataPriv.set( this, "blur", ... )
         
     | 
| 
       5843 
     | 
    
         
            -
            			leverageNative( this, type,  
     | 
| 
      
 5579 
     | 
    
         
            +
            			leverageNative( this, type, true );
         
     | 
| 
       5844 
5580 
     | 
    
         | 
| 
       5845 
     | 
    
         
            -
            			 
     | 
| 
       5846 
     | 
    
         
            -
             
     | 
| 
      
 5581 
     | 
    
         
            +
            			if ( document.documentMode ) {
         
     | 
| 
      
 5582 
     | 
    
         
            +
             
     | 
| 
      
 5583 
     | 
    
         
            +
            				// Support: IE 9 - 11+
         
     | 
| 
      
 5584 
     | 
    
         
            +
            				// We use the same native handler for focusin & focus (and focusout & blur)
         
     | 
| 
      
 5585 
     | 
    
         
            +
            				// so we need to coordinate setup & teardown parts between those events.
         
     | 
| 
      
 5586 
     | 
    
         
            +
            				// Use `delegateType` as the key as `type` is already used by `leverageNative`.
         
     | 
| 
      
 5587 
     | 
    
         
            +
            				attaches = dataPriv.get( this, delegateType );
         
     | 
| 
      
 5588 
     | 
    
         
            +
            				if ( !attaches ) {
         
     | 
| 
      
 5589 
     | 
    
         
            +
            					this.addEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5590 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5591 
     | 
    
         
            +
            				dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
         
     | 
| 
      
 5592 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5593 
     | 
    
         
            +
             
     | 
| 
      
 5594 
     | 
    
         
            +
            				// Return false to allow normal processing in the caller
         
     | 
| 
      
 5595 
     | 
    
         
            +
            				return false;
         
     | 
| 
      
 5596 
     | 
    
         
            +
            			}
         
     | 
| 
       5847 
5597 
     | 
    
         
             
            		},
         
     | 
| 
       5848 
5598 
     | 
    
         
             
            		trigger: function() {
         
     | 
| 
       5849 
5599 
     | 
    
         | 
| 
         @@ -5854,6 +5604,24 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp 
     | 
|
| 
       5854 
5604 
     | 
    
         
             
            			return true;
         
     | 
| 
       5855 
5605 
     | 
    
         
             
            		},
         
     | 
| 
       5856 
5606 
     | 
    
         | 
| 
      
 5607 
     | 
    
         
            +
            		teardown: function() {
         
     | 
| 
      
 5608 
     | 
    
         
            +
            			var attaches;
         
     | 
| 
      
 5609 
     | 
    
         
            +
             
     | 
| 
      
 5610 
     | 
    
         
            +
            			if ( document.documentMode ) {
         
     | 
| 
      
 5611 
     | 
    
         
            +
            				attaches = dataPriv.get( this, delegateType ) - 1;
         
     | 
| 
      
 5612 
     | 
    
         
            +
            				if ( !attaches ) {
         
     | 
| 
      
 5613 
     | 
    
         
            +
            					this.removeEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5614 
     | 
    
         
            +
            					dataPriv.remove( this, delegateType );
         
     | 
| 
      
 5615 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5616 
     | 
    
         
            +
            					dataPriv.set( this, delegateType, attaches );
         
     | 
| 
      
 5617 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5618 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5619 
     | 
    
         
            +
             
     | 
| 
      
 5620 
     | 
    
         
            +
            				// Return false to indicate standard teardown should be applied
         
     | 
| 
      
 5621 
     | 
    
         
            +
            				return false;
         
     | 
| 
      
 5622 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5623 
     | 
    
         
            +
            		},
         
     | 
| 
      
 5624 
     | 
    
         
            +
             
     | 
| 
       5857 
5625 
     | 
    
         
             
            		// Suppress native focus or blur if we're currently inside
         
     | 
| 
       5858 
5626 
     | 
    
         
             
            		// a leveraged native-event stack
         
     | 
| 
       5859 
5627 
     | 
    
         
             
            		_default: function( event ) {
         
     | 
| 
         @@ -5862,6 +5630,58 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp 
     | 
|
| 
       5862 
5630 
     | 
    
         | 
| 
       5863 
5631 
     | 
    
         
             
            		delegateType: delegateType
         
     | 
| 
       5864 
5632 
     | 
    
         
             
            	};
         
     | 
| 
      
 5633 
     | 
    
         
            +
             
     | 
| 
      
 5634 
     | 
    
         
            +
            	// Support: Firefox <=44
         
     | 
| 
      
 5635 
     | 
    
         
            +
            	// Firefox doesn't have focus(in | out) events
         
     | 
| 
      
 5636 
     | 
    
         
            +
            	// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
         
     | 
| 
      
 5637 
     | 
    
         
            +
            	//
         
     | 
| 
      
 5638 
     | 
    
         
            +
            	// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
         
     | 
| 
      
 5639 
     | 
    
         
            +
            	// focus(in | out) events fire after focus & blur events,
         
     | 
| 
      
 5640 
     | 
    
         
            +
            	// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
         
     | 
| 
      
 5641 
     | 
    
         
            +
            	// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
         
     | 
| 
      
 5642 
     | 
    
         
            +
            	//
         
     | 
| 
      
 5643 
     | 
    
         
            +
            	// Support: IE 9 - 11+
         
     | 
| 
      
 5644 
     | 
    
         
            +
            	// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
         
     | 
| 
      
 5645 
     | 
    
         
            +
            	// attach a single handler for both events in IE.
         
     | 
| 
      
 5646 
     | 
    
         
            +
            	jQuery.event.special[ delegateType ] = {
         
     | 
| 
      
 5647 
     | 
    
         
            +
            		setup: function() {
         
     | 
| 
      
 5648 
     | 
    
         
            +
             
     | 
| 
      
 5649 
     | 
    
         
            +
            			// Handle: regular nodes (via `this.ownerDocument`), window
         
     | 
| 
      
 5650 
     | 
    
         
            +
            			// (via `this.document`) & document (via `this`).
         
     | 
| 
      
 5651 
     | 
    
         
            +
            			var doc = this.ownerDocument || this.document || this,
         
     | 
| 
      
 5652 
     | 
    
         
            +
            				dataHolder = document.documentMode ? this : doc,
         
     | 
| 
      
 5653 
     | 
    
         
            +
            				attaches = dataPriv.get( dataHolder, delegateType );
         
     | 
| 
      
 5654 
     | 
    
         
            +
             
     | 
| 
      
 5655 
     | 
    
         
            +
            			// Support: IE 9 - 11+
         
     | 
| 
      
 5656 
     | 
    
         
            +
            			// We use the same native handler for focusin & focus (and focusout & blur)
         
     | 
| 
      
 5657 
     | 
    
         
            +
            			// so we need to coordinate setup & teardown parts between those events.
         
     | 
| 
      
 5658 
     | 
    
         
            +
            			// Use `delegateType` as the key as `type` is already used by `leverageNative`.
         
     | 
| 
      
 5659 
     | 
    
         
            +
            			if ( !attaches ) {
         
     | 
| 
      
 5660 
     | 
    
         
            +
            				if ( document.documentMode ) {
         
     | 
| 
      
 5661 
     | 
    
         
            +
            					this.addEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5662 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5663 
     | 
    
         
            +
            					doc.addEventListener( type, focusMappedHandler, true );
         
     | 
| 
      
 5664 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5665 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5666 
     | 
    
         
            +
            			dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
         
     | 
| 
      
 5667 
     | 
    
         
            +
            		},
         
     | 
| 
      
 5668 
     | 
    
         
            +
            		teardown: function() {
         
     | 
| 
      
 5669 
     | 
    
         
            +
            			var doc = this.ownerDocument || this.document || this,
         
     | 
| 
      
 5670 
     | 
    
         
            +
            				dataHolder = document.documentMode ? this : doc,
         
     | 
| 
      
 5671 
     | 
    
         
            +
            				attaches = dataPriv.get( dataHolder, delegateType ) - 1;
         
     | 
| 
      
 5672 
     | 
    
         
            +
             
     | 
| 
      
 5673 
     | 
    
         
            +
            			if ( !attaches ) {
         
     | 
| 
      
 5674 
     | 
    
         
            +
            				if ( document.documentMode ) {
         
     | 
| 
      
 5675 
     | 
    
         
            +
            					this.removeEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5676 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5677 
     | 
    
         
            +
            					doc.removeEventListener( type, focusMappedHandler, true );
         
     | 
| 
      
 5678 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5679 
     | 
    
         
            +
            				dataPriv.remove( dataHolder, delegateType );
         
     | 
| 
      
 5680 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5681 
     | 
    
         
            +
            				dataPriv.set( dataHolder, delegateType, attaches );
         
     | 
| 
      
 5682 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5683 
     | 
    
         
            +
            		}
         
     | 
| 
      
 5684 
     | 
    
         
            +
            	};
         
     | 
| 
       5865 
5685 
     | 
    
         
             
            } );
         
     | 
| 
       5866 
5686 
     | 
    
         | 
| 
       5867 
5687 
     | 
    
         
             
            // Create mouseenter/leave events using mouseover/out and event-time checks
         
     | 
| 
         @@ -6164,7 +5984,8 @@ jQuery.extend( { 
     | 
|
| 
       6164 
5984 
     | 
    
         
             
            		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
         
     | 
| 
       6165 
5985 
     | 
    
         
             
            				!jQuery.isXMLDoc( elem ) ) {
         
     | 
| 
       6166 
5986 
     | 
    
         | 
| 
       6167 
     | 
    
         
            -
            			// We eschew  
     | 
| 
      
 5987 
     | 
    
         
            +
            			// We eschew jQuery#find here for performance reasons:
         
     | 
| 
      
 5988 
     | 
    
         
            +
            			// https://jsperf.com/getall-vs-sizzle/2
         
     | 
| 
       6168 
5989 
     | 
    
         
             
            			destElements = getAll( clone );
         
     | 
| 
       6169 
5990 
     | 
    
         
             
            			srcElements = getAll( elem );
         
     | 
| 
       6170 
5991 
     | 
    
         | 
| 
         @@ -6440,15 +6261,6 @@ var swap = function( elem, options, callback ) { 
     | 
|
| 
       6440 
6261 
     | 
    
         | 
| 
       6441 
6262 
     | 
    
         
             
            var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
         
     | 
| 
       6442 
6263 
     | 
    
         | 
| 
       6443 
     | 
    
         
            -
            var whitespace = "[\\x20\\t\\r\\n\\f]";
         
     | 
| 
       6444 
     | 
    
         
            -
             
     | 
| 
       6445 
     | 
    
         
            -
             
     | 
| 
       6446 
     | 
    
         
            -
            var rtrimCSS = new RegExp(
         
     | 
| 
       6447 
     | 
    
         
            -
            	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
         
     | 
| 
       6448 
     | 
    
         
            -
            	"g"
         
     | 
| 
       6449 
     | 
    
         
            -
            );
         
     | 
| 
       6450 
     | 
    
         
            -
             
     | 
| 
       6451 
     | 
    
         
            -
             
     | 
| 
       6452 
6264 
     | 
    
         | 
| 
       6453 
6265 
     | 
    
         | 
| 
       6454 
6266 
     | 
    
         
             
            ( function() {
         
     | 
| 
         @@ -6608,17 +6420,37 @@ function curCSS( elem, name, computed ) { 
     | 
|
| 
       6608 
6420 
     | 
    
         
             
            	//   .css('filter') (IE 9 only, trac-12537)
         
     | 
| 
       6609 
6421 
     | 
    
         
             
            	//   .css('--customProperty) (gh-3144)
         
     | 
| 
       6610 
6422 
     | 
    
         
             
            	if ( computed ) {
         
     | 
| 
       6611 
     | 
    
         
            -
            		ret = computed.getPropertyValue( name ) || computed[ name ];
         
     | 
| 
       6612 
6423 
     | 
    
         | 
| 
       6613 
     | 
    
         
            -
            		//  
     | 
| 
       6614 
     | 
    
         
            -
            		 
     | 
| 
      
 6424 
     | 
    
         
            +
            		// Support: IE <=9 - 11+
         
     | 
| 
      
 6425 
     | 
    
         
            +
            		// IE only supports `"float"` in `getPropertyValue`; in computed styles
         
     | 
| 
      
 6426 
     | 
    
         
            +
            		// it's only available as `"cssFloat"`. We no longer modify properties
         
     | 
| 
      
 6427 
     | 
    
         
            +
            		// sent to `.css()` apart from camelCasing, so we need to check both.
         
     | 
| 
      
 6428 
     | 
    
         
            +
            		// Normally, this would create difference in behavior: if
         
     | 
| 
      
 6429 
     | 
    
         
            +
            		// `getPropertyValue` returns an empty string, the value returned
         
     | 
| 
      
 6430 
     | 
    
         
            +
            		// by `.css()` would be `undefined`. This is usually the case for
         
     | 
| 
      
 6431 
     | 
    
         
            +
            		// disconnected elements. However, in IE even disconnected elements
         
     | 
| 
      
 6432 
     | 
    
         
            +
            		// with no styles return `"none"` for `getPropertyValue( "float" )`
         
     | 
| 
      
 6433 
     | 
    
         
            +
            		ret = computed.getPropertyValue( name ) || computed[ name ];
         
     | 
| 
       6615 
6434 
     | 
    
         | 
| 
       6616 
     | 
    
         
            -
             
     | 
| 
      
 6435 
     | 
    
         
            +
            		if ( isCustomProp && ret ) {
         
     | 
| 
      
 6436 
     | 
    
         
            +
             
     | 
| 
      
 6437 
     | 
    
         
            +
            			// Support: Firefox 105+, Chrome <=105+
         
     | 
| 
      
 6438 
     | 
    
         
            +
            			// Spec requires trimming whitespace for custom properties (gh-4926).
         
     | 
| 
      
 6439 
     | 
    
         
            +
            			// Firefox only trims leading whitespace. Chrome just collapses
         
     | 
| 
      
 6440 
     | 
    
         
            +
            			// both leading & trailing whitespace to a single space.
         
     | 
| 
      
 6441 
     | 
    
         
            +
            			//
         
     | 
| 
      
 6442 
     | 
    
         
            +
            			// Fall back to `undefined` if empty string returned.
         
     | 
| 
      
 6443 
     | 
    
         
            +
            			// This collapses a missing definition with property defined
         
     | 
| 
      
 6444 
     | 
    
         
            +
            			// and set to an empty string but there's no standard API
         
     | 
| 
      
 6445 
     | 
    
         
            +
            			// allowing us to differentiate them without a performance penalty
         
     | 
| 
      
 6446 
     | 
    
         
            +
            			// and returning `undefined` aligns with older jQuery.
         
     | 
| 
      
 6447 
     | 
    
         
            +
            			//
         
     | 
| 
      
 6448 
     | 
    
         
            +
            			// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
         
     | 
| 
       6617 
6449 
     | 
    
         
             
            			// as whitespace while CSS does not, but this is not a problem
         
     | 
| 
       6618 
6450 
     | 
    
         
             
            			// because CSS preprocessing replaces them with U+000A LINE FEED
         
     | 
| 
       6619 
6451 
     | 
    
         
             
            			// (which *is* CSS whitespace)
         
     | 
| 
       6620 
6452 
     | 
    
         
             
            			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
         
     | 
| 
       6621 
     | 
    
         
            -
            			ret = ret.replace( rtrimCSS, "$1" );
         
     | 
| 
      
 6453 
     | 
    
         
            +
            			ret = ret.replace( rtrimCSS, "$1" ) || undefined;
         
     | 
| 
       6622 
6454 
     | 
    
         
             
            		}
         
     | 
| 
       6623 
6455 
     | 
    
         | 
| 
       6624 
6456 
     | 
    
         
             
            		if ( ret === "" && !isAttached( elem ) ) {
         
     | 
| 
         @@ -6737,7 +6569,8 @@ function setPositiveNumber( _elem, value, subtract ) { 
     | 
|
| 
       6737 
6569 
     | 
    
         
             
            function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
         
     | 
| 
       6738 
6570 
     | 
    
         
             
            	var i = dimension === "width" ? 1 : 0,
         
     | 
| 
       6739 
6571 
     | 
    
         
             
            		extra = 0,
         
     | 
| 
       6740 
     | 
    
         
            -
            		delta = 0 
     | 
| 
      
 6572 
     | 
    
         
            +
            		delta = 0,
         
     | 
| 
      
 6573 
     | 
    
         
            +
            		marginDelta = 0;
         
     | 
| 
       6741 
6574 
     | 
    
         | 
| 
       6742 
6575 
     | 
    
         
             
            	// Adjustment may not be necessary
         
     | 
| 
       6743 
6576 
     | 
    
         
             
            	if ( box === ( isBorderBox ? "border" : "content" ) ) {
         
     | 
| 
         @@ -6747,8 +6580,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed 
     | 
|
| 
       6747 
6580 
     | 
    
         
             
            	for ( ; i < 4; i += 2 ) {
         
     | 
| 
       6748 
6581 
     | 
    
         | 
| 
       6749 
6582 
     | 
    
         
             
            		// Both box models exclude margin
         
     | 
| 
      
 6583 
     | 
    
         
            +
            		// Count margin delta separately to only add it after scroll gutter adjustment.
         
     | 
| 
      
 6584 
     | 
    
         
            +
            		// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
         
     | 
| 
       6750 
6585 
     | 
    
         
             
            		if ( box === "margin" ) {
         
     | 
| 
       6751 
     | 
    
         
            -
            			 
     | 
| 
      
 6586 
     | 
    
         
            +
            			marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
         
     | 
| 
       6752 
6587 
     | 
    
         
             
            		}
         
     | 
| 
       6753 
6588 
     | 
    
         | 
| 
       6754 
6589 
     | 
    
         
             
            		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
         
     | 
| 
         @@ -6799,7 +6634,7 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed 
     | 
|
| 
       6799 
6634 
     | 
    
         
             
            		) ) || 0;
         
     | 
| 
       6800 
6635 
     | 
    
         
             
            	}
         
     | 
| 
       6801 
6636 
     | 
    
         | 
| 
       6802 
     | 
    
         
            -
            	return delta;
         
     | 
| 
      
 6637 
     | 
    
         
            +
            	return delta + marginDelta;
         
     | 
| 
       6803 
6638 
     | 
    
         
             
            }
         
     | 
| 
       6804 
6639 
     | 
    
         | 
| 
       6805 
6640 
     | 
    
         
             
            function getWidthOrHeight( elem, dimension, extra ) {
         
     | 
| 
         @@ -6897,26 +6732,35 @@ jQuery.extend( { 
     | 
|
| 
       6897 
6732 
     | 
    
         | 
| 
       6898 
6733 
     | 
    
         
             
            	// Don't automatically add "px" to these possibly-unitless properties
         
     | 
| 
       6899 
6734 
     | 
    
         
             
            	cssNumber: {
         
     | 
| 
       6900 
     | 
    
         
            -
            		 
     | 
| 
       6901 
     | 
    
         
            -
            		 
     | 
| 
       6902 
     | 
    
         
            -
            		 
     | 
| 
       6903 
     | 
    
         
            -
            		 
     | 
| 
       6904 
     | 
    
         
            -
            		 
     | 
| 
       6905 
     | 
    
         
            -
            		 
     | 
| 
       6906 
     | 
    
         
            -
            		 
     | 
| 
       6907 
     | 
    
         
            -
            		 
     | 
| 
       6908 
     | 
    
         
            -
            		 
     | 
| 
       6909 
     | 
    
         
            -
            		 
     | 
| 
       6910 
     | 
    
         
            -
            		 
     | 
| 
       6911 
     | 
    
         
            -
            		 
     | 
| 
       6912 
     | 
    
         
            -
            		 
     | 
| 
       6913 
     | 
    
         
            -
            		 
     | 
| 
       6914 
     | 
    
         
            -
            		 
     | 
| 
       6915 
     | 
    
         
            -
            		 
     | 
| 
       6916 
     | 
    
         
            -
            		 
     | 
| 
       6917 
     | 
    
         
            -
            		 
     | 
| 
       6918 
     | 
    
         
            -
            		 
     | 
| 
       6919 
     | 
    
         
            -
            		 
     | 
| 
      
 6735 
     | 
    
         
            +
            		animationIterationCount: true,
         
     | 
| 
      
 6736 
     | 
    
         
            +
            		aspectRatio: true,
         
     | 
| 
      
 6737 
     | 
    
         
            +
            		borderImageSlice: true,
         
     | 
| 
      
 6738 
     | 
    
         
            +
            		columnCount: true,
         
     | 
| 
      
 6739 
     | 
    
         
            +
            		flexGrow: true,
         
     | 
| 
      
 6740 
     | 
    
         
            +
            		flexShrink: true,
         
     | 
| 
      
 6741 
     | 
    
         
            +
            		fontWeight: true,
         
     | 
| 
      
 6742 
     | 
    
         
            +
            		gridArea: true,
         
     | 
| 
      
 6743 
     | 
    
         
            +
            		gridColumn: true,
         
     | 
| 
      
 6744 
     | 
    
         
            +
            		gridColumnEnd: true,
         
     | 
| 
      
 6745 
     | 
    
         
            +
            		gridColumnStart: true,
         
     | 
| 
      
 6746 
     | 
    
         
            +
            		gridRow: true,
         
     | 
| 
      
 6747 
     | 
    
         
            +
            		gridRowEnd: true,
         
     | 
| 
      
 6748 
     | 
    
         
            +
            		gridRowStart: true,
         
     | 
| 
      
 6749 
     | 
    
         
            +
            		lineHeight: true,
         
     | 
| 
      
 6750 
     | 
    
         
            +
            		opacity: true,
         
     | 
| 
      
 6751 
     | 
    
         
            +
            		order: true,
         
     | 
| 
      
 6752 
     | 
    
         
            +
            		orphans: true,
         
     | 
| 
      
 6753 
     | 
    
         
            +
            		scale: true,
         
     | 
| 
      
 6754 
     | 
    
         
            +
            		widows: true,
         
     | 
| 
      
 6755 
     | 
    
         
            +
            		zIndex: true,
         
     | 
| 
      
 6756 
     | 
    
         
            +
            		zoom: true,
         
     | 
| 
      
 6757 
     | 
    
         
            +
             
     | 
| 
      
 6758 
     | 
    
         
            +
            		// SVG-related
         
     | 
| 
      
 6759 
     | 
    
         
            +
            		fillOpacity: true,
         
     | 
| 
      
 6760 
     | 
    
         
            +
            		floodOpacity: true,
         
     | 
| 
      
 6761 
     | 
    
         
            +
            		stopOpacity: true,
         
     | 
| 
      
 6762 
     | 
    
         
            +
            		strokeMiterlimit: true,
         
     | 
| 
      
 6763 
     | 
    
         
            +
            		strokeOpacity: true
         
     | 
| 
       6920 
6764 
     | 
    
         
             
            	},
         
     | 
| 
       6921 
6765 
     | 
    
         | 
| 
       6922 
6766 
     | 
    
         
             
            	// Add in properties whose names you wish to fix before
         
     | 
| 
         @@ -8642,9 +8486,39 @@ jQuery.each( [ "radio", "checkbox" ], function() { 
     | 
|
| 
       8642 
8486 
     | 
    
         | 
| 
       8643 
8487 
     | 
    
         | 
| 
       8644 
8488 
     | 
    
         
             
            // Return jQuery for attributes-only inclusion
         
     | 
| 
      
 8489 
     | 
    
         
            +
            var location = window.location;
         
     | 
| 
      
 8490 
     | 
    
         
            +
             
     | 
| 
      
 8491 
     | 
    
         
            +
            var nonce = { guid: Date.now() };
         
     | 
| 
      
 8492 
     | 
    
         
            +
             
     | 
| 
      
 8493 
     | 
    
         
            +
            var rquery = ( /\?/ );
         
     | 
| 
      
 8494 
     | 
    
         
            +
             
     | 
| 
      
 8495 
     | 
    
         
            +
             
     | 
| 
       8645 
8496 
     | 
    
         | 
| 
      
 8497 
     | 
    
         
            +
            // Cross-browser xml parsing
         
     | 
| 
      
 8498 
     | 
    
         
            +
            jQuery.parseXML = function( data ) {
         
     | 
| 
      
 8499 
     | 
    
         
            +
            	var xml, parserErrorElem;
         
     | 
| 
      
 8500 
     | 
    
         
            +
            	if ( !data || typeof data !== "string" ) {
         
     | 
| 
      
 8501 
     | 
    
         
            +
            		return null;
         
     | 
| 
      
 8502 
     | 
    
         
            +
            	}
         
     | 
| 
       8646 
8503 
     | 
    
         | 
| 
       8647 
     | 
    
         
            -
             
     | 
| 
      
 8504 
     | 
    
         
            +
            	// Support: IE 9 - 11 only
         
     | 
| 
      
 8505 
     | 
    
         
            +
            	// IE throws on parseFromString with invalid input.
         
     | 
| 
      
 8506 
     | 
    
         
            +
            	try {
         
     | 
| 
      
 8507 
     | 
    
         
            +
            		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
         
     | 
| 
      
 8508 
     | 
    
         
            +
            	} catch ( e ) {}
         
     | 
| 
      
 8509 
     | 
    
         
            +
             
     | 
| 
      
 8510 
     | 
    
         
            +
            	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
         
     | 
| 
      
 8511 
     | 
    
         
            +
            	if ( !xml || parserErrorElem ) {
         
     | 
| 
      
 8512 
     | 
    
         
            +
            		jQuery.error( "Invalid XML: " + (
         
     | 
| 
      
 8513 
     | 
    
         
            +
            			parserErrorElem ?
         
     | 
| 
      
 8514 
     | 
    
         
            +
            				jQuery.map( parserErrorElem.childNodes, function( el ) {
         
     | 
| 
      
 8515 
     | 
    
         
            +
            					return el.textContent;
         
     | 
| 
      
 8516 
     | 
    
         
            +
            				} ).join( "\n" ) :
         
     | 
| 
      
 8517 
     | 
    
         
            +
            				data
         
     | 
| 
      
 8518 
     | 
    
         
            +
            		) );
         
     | 
| 
      
 8519 
     | 
    
         
            +
            	}
         
     | 
| 
      
 8520 
     | 
    
         
            +
            	return xml;
         
     | 
| 
      
 8521 
     | 
    
         
            +
            };
         
     | 
| 
       8648 
8522 
     | 
    
         | 
| 
       8649 
8523 
     | 
    
         | 
| 
       8650 
8524 
     | 
    
         
             
            var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
         
     | 
| 
         @@ -8832,85 +8706,6 @@ jQuery.fn.extend( { 
     | 
|
| 
       8832 
8706 
     | 
    
         
             
            } );
         
     | 
| 
       8833 
8707 
     | 
    
         | 
| 
       8834 
8708 
     | 
    
         | 
| 
       8835 
     | 
    
         
            -
            // Support: Firefox <=44
         
     | 
| 
       8836 
     | 
    
         
            -
            // Firefox doesn't have focus(in | out) events
         
     | 
| 
       8837 
     | 
    
         
            -
            // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
         
     | 
| 
       8838 
     | 
    
         
            -
            //
         
     | 
| 
       8839 
     | 
    
         
            -
            // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
         
     | 
| 
       8840 
     | 
    
         
            -
            // focus(in | out) events fire after focus & blur events,
         
     | 
| 
       8841 
     | 
    
         
            -
            // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
         
     | 
| 
       8842 
     | 
    
         
            -
            // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
         
     | 
| 
       8843 
     | 
    
         
            -
            if ( !support.focusin ) {
         
     | 
| 
       8844 
     | 
    
         
            -
            	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
         
     | 
| 
       8845 
     | 
    
         
            -
             
     | 
| 
       8846 
     | 
    
         
            -
            		// Attach a single capturing handler on the document while someone wants focusin/focusout
         
     | 
| 
       8847 
     | 
    
         
            -
            		var handler = function( event ) {
         
     | 
| 
       8848 
     | 
    
         
            -
            			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
         
     | 
| 
       8849 
     | 
    
         
            -
            		};
         
     | 
| 
       8850 
     | 
    
         
            -
             
     | 
| 
       8851 
     | 
    
         
            -
            		jQuery.event.special[ fix ] = {
         
     | 
| 
       8852 
     | 
    
         
            -
            			setup: function() {
         
     | 
| 
       8853 
     | 
    
         
            -
             
     | 
| 
       8854 
     | 
    
         
            -
            				// Handle: regular nodes (via `this.ownerDocument`), window
         
     | 
| 
       8855 
     | 
    
         
            -
            				// (via `this.document`) & document (via `this`).
         
     | 
| 
       8856 
     | 
    
         
            -
            				var doc = this.ownerDocument || this.document || this,
         
     | 
| 
       8857 
     | 
    
         
            -
            					attaches = dataPriv.access( doc, fix );
         
     | 
| 
       8858 
     | 
    
         
            -
             
     | 
| 
       8859 
     | 
    
         
            -
            				if ( !attaches ) {
         
     | 
| 
       8860 
     | 
    
         
            -
            					doc.addEventListener( orig, handler, true );
         
     | 
| 
       8861 
     | 
    
         
            -
            				}
         
     | 
| 
       8862 
     | 
    
         
            -
            				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
         
     | 
| 
       8863 
     | 
    
         
            -
            			},
         
     | 
| 
       8864 
     | 
    
         
            -
            			teardown: function() {
         
     | 
| 
       8865 
     | 
    
         
            -
            				var doc = this.ownerDocument || this.document || this,
         
     | 
| 
       8866 
     | 
    
         
            -
            					attaches = dataPriv.access( doc, fix ) - 1;
         
     | 
| 
       8867 
     | 
    
         
            -
             
     | 
| 
       8868 
     | 
    
         
            -
            				if ( !attaches ) {
         
     | 
| 
       8869 
     | 
    
         
            -
            					doc.removeEventListener( orig, handler, true );
         
     | 
| 
       8870 
     | 
    
         
            -
            					dataPriv.remove( doc, fix );
         
     | 
| 
       8871 
     | 
    
         
            -
             
     | 
| 
       8872 
     | 
    
         
            -
            				} else {
         
     | 
| 
       8873 
     | 
    
         
            -
            					dataPriv.access( doc, fix, attaches );
         
     | 
| 
       8874 
     | 
    
         
            -
            				}
         
     | 
| 
       8875 
     | 
    
         
            -
            			}
         
     | 
| 
       8876 
     | 
    
         
            -
            		};
         
     | 
| 
       8877 
     | 
    
         
            -
            	} );
         
     | 
| 
       8878 
     | 
    
         
            -
            }
         
     | 
| 
       8879 
     | 
    
         
            -
            var location = window.location;
         
     | 
| 
       8880 
     | 
    
         
            -
             
     | 
| 
       8881 
     | 
    
         
            -
            var nonce = { guid: Date.now() };
         
     | 
| 
       8882 
     | 
    
         
            -
             
     | 
| 
       8883 
     | 
    
         
            -
            var rquery = ( /\?/ );
         
     | 
| 
       8884 
     | 
    
         
            -
             
     | 
| 
       8885 
     | 
    
         
            -
             
     | 
| 
       8886 
     | 
    
         
            -
             
     | 
| 
       8887 
     | 
    
         
            -
            // Cross-browser xml parsing
         
     | 
| 
       8888 
     | 
    
         
            -
            jQuery.parseXML = function( data ) {
         
     | 
| 
       8889 
     | 
    
         
            -
            	var xml, parserErrorElem;
         
     | 
| 
       8890 
     | 
    
         
            -
            	if ( !data || typeof data !== "string" ) {
         
     | 
| 
       8891 
     | 
    
         
            -
            		return null;
         
     | 
| 
       8892 
     | 
    
         
            -
            	}
         
     | 
| 
       8893 
     | 
    
         
            -
             
     | 
| 
       8894 
     | 
    
         
            -
            	// Support: IE 9 - 11 only
         
     | 
| 
       8895 
     | 
    
         
            -
            	// IE throws on parseFromString with invalid input.
         
     | 
| 
       8896 
     | 
    
         
            -
            	try {
         
     | 
| 
       8897 
     | 
    
         
            -
            		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
         
     | 
| 
       8898 
     | 
    
         
            -
            	} catch ( e ) {}
         
     | 
| 
       8899 
     | 
    
         
            -
             
     | 
| 
       8900 
     | 
    
         
            -
            	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
         
     | 
| 
       8901 
     | 
    
         
            -
            	if ( !xml || parserErrorElem ) {
         
     | 
| 
       8902 
     | 
    
         
            -
            		jQuery.error( "Invalid XML: " + (
         
     | 
| 
       8903 
     | 
    
         
            -
            			parserErrorElem ?
         
     | 
| 
       8904 
     | 
    
         
            -
            				jQuery.map( parserErrorElem.childNodes, function( el ) {
         
     | 
| 
       8905 
     | 
    
         
            -
            					return el.textContent;
         
     | 
| 
       8906 
     | 
    
         
            -
            				} ).join( "\n" ) :
         
     | 
| 
       8907 
     | 
    
         
            -
            				data
         
     | 
| 
       8908 
     | 
    
         
            -
            		) );
         
     | 
| 
       8909 
     | 
    
         
            -
            	}
         
     | 
| 
       8910 
     | 
    
         
            -
            	return xml;
         
     | 
| 
       8911 
     | 
    
         
            -
            };
         
     | 
| 
       8912 
     | 
    
         
            -
             
     | 
| 
       8913 
     | 
    
         
            -
             
     | 
| 
       8914 
8709 
     | 
    
         
             
            var
         
     | 
| 
       8915 
8710 
     | 
    
         
             
            	rbracket = /\[\]$/,
         
     | 
| 
       8916 
8711 
     | 
    
         
             
            	rCRLF = /\r?\n/g,
         
     |