diff --git a/ajax/libs/sizzle/1.11.1/sizzle.js b/ajax/libs/sizzle/1.11.1/sizzle.js new file mode 100644 index 000000000..c9a9aa769 --- /dev/null +++ b/ajax/libs/sizzle/1.11.1/sizzle.js @@ -0,0 +1,2032 @@ +/*! + * Sizzle CSS Selector Engine v1.11.1 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-06-25 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (jQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== strundefined && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, + doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", function() { + setDocument(); + }, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", function() { + setDocument(); + }); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +// EXPOSE +if ( typeof define === "function" && define.amd ) { + define(function() { return Sizzle; }); +// Sizzle requires that there be a global window in Common-JS like environments +} else if ( typeof module !== "undefined" && module.exports ) { + module.exports = Sizzle; +} else { + window.Sizzle = Sizzle; +} +// EXPOSE + +})( window ); diff --git a/ajax/libs/sizzle/1.11.1/sizzle.min.js b/ajax/libs/sizzle/1.11.1/sizzle.min.js new file mode 100644 index 000000000..0cf8c0956 --- /dev/null +++ b/ajax/libs/sizzle/1.11.1/sizzle.min.js @@ -0,0 +1,3 @@ +/*! Sizzle v1.11.1 | (c) 2013 jQuery Foundation, Inc. | jquery.org/license */ +!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=fb(),z=fb(),A=fb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+M+"*\\]",P=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),R=new RegExp("^"+M+"*,"+M+"*"),S=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),T=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),U=new RegExp(P),V=new RegExp("^"+N+"$"),W={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N+"|[*])"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,ab=/'|\\/g,bb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),cb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(db){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function eb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=$.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ab,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+pb(o[l]);w=_.test(a)&&nb(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function fb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function gb(a){return a[u]=!0,a}function hb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ib(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function jb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function mb(a){return gb(function(b){return b=+b,gb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function nb(a){return a&&typeof a.getElementsByTagName!==C&&a}c=eb.support={},f=eb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=eb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=hb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=hb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(e.getElementsByClassName),c.getById=hb(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(bb,cb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(bb,cb);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(e.querySelectorAll))&&(hb(function(a){a.innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),hb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&hb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return jb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?jb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},eb.matches=function(a,b){return eb(a,null,null,b)},eb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return eb(b,n,null,[a]).length>0},eb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},eb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},eb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},eb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=eb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=eb.selectors={cacheLength:50,createPseudo:gb,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(bb,cb),a[3]=(a[3]||a[4]||a[5]||"").replace(bb,cb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||eb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&eb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(bb,cb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=eb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||eb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?gb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:gb(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?gb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:gb(function(a){return function(b){return eb(a,b).length>0}}),contains:gb(function(a){return a=a.replace(bb,cb),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:gb(function(a){return V.test(a||"")||eb.error("unsupported lang: "+a),a=a.replace(bb,cb).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:mb(function(){return[0]}),last:mb(function(a,b){return[b-1]}),eq:mb(function(a,b,c){return[0>c?c+b:c]}),even:mb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:mb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:mb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:mb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c){for(var d=0,e=b.length;e>d;d++)eb(a,b[d],c);return c}function tb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function ub(a,b,c,d,e,f){return d&&!d[u]&&(d=ub(d)),e&&!e[u]&&(e=ub(e,f)),gb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||sb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:tb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=tb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=tb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function vb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=qb(function(a){return a===b},h,!0),l=qb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return ub(i>1&&rb(m),i>1&&pb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&vb(a.slice(i,e)),f>e&&vb(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function wb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=tb(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&eb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?gb(f):f}h=eb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=vb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,wb(e,d)),f.selector=a}return f},i=eb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(bb,cb),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(bb,cb),_.test(j[0].type)&&nb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&pb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,_.test(a)&&nb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=hb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),hb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ib("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&hb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ib("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),hb(function(a){return null==a.getAttribute("disabled")})||ib(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),"function"==typeof define&&define.amd?define(function(){return eb}):"undefined"!=typeof module&&module.exports?module.exports=eb:a.Sizzle=eb}(window); +//# sourceMappingURL=sizzle.min.map \ No newline at end of file diff --git a/ajax/libs/sizzle/1.11.1/sizzle.min.map b/ajax/libs/sizzle/1.11.1/sizzle.min.map new file mode 100644 index 000000000..2c94a4c19 --- /dev/null +++ b/ajax/libs/sizzle/1.11.1/sizzle.min.map @@ -0,0 +1 @@ +{"version":3,"file":"sizzle.min.js","sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","strundefined","MAX_NEGATIVE","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","elem","len","this","length","booleans","whitespace","identifier","attributes","pseudos","rtrim","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","parentNode","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","replace","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","div","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","doc","parent","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","div1","defaultValue","define","amd","module","exports"],"mappings":"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"} \ No newline at end of file diff --git a/ajax/libs/sizzle/package.json b/ajax/libs/sizzle/package.json index a7fa9247e..59b12a985 100644 --- a/ajax/libs/sizzle/package.json +++ b/ajax/libs/sizzle/package.json @@ -1,7 +1,7 @@ { "name": "sizzle", "filename": "sizzle.min.js", - "version": "1.10.19", + "version": "1.11.1", "description": "A pure-JavaScript, bottom-up CSS selector engine designed to be easily dropped in to a host library.", "homepage": "http://sizzlejs.com/", "keywords": [