11/*!
2- * jQuery JavaScript Library v1.5.2
2+ * jQuery JavaScript Library v1.5.3-sec
33 * http://jquery.com/
44 *
55 * Copyright 2011, John Resig
1111 * Copyright 2011, The Dojo Foundation
1212 * Released under the MIT, BSD, and GPL Licenses.
1313 *
14- * Date: Thu Mar 31 15:28:23 2011 -0400
14+ * Date: Thu Feb 15 18:40:42 2024 -0600
1515 */
1616( function ( window , undefined ) {
1717
@@ -35,8 +35,9 @@ var jQuery = function( selector, context ) {
3535 rootjQuery ,
3636
3737 // A simple way to check for HTML strings or ID strings
38- // (both of which we optimize for)
39- quickExpr = / ^ (?: [ ^ < ] * ( < [ \w \W ] + > ) [ ^ > ] * $ | # ( [ \w \- ] + ) $ ) / ,
38+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
39+ // Strict HTML recognition (#11290: must start with <)
40+ quickExpr = / ^ (?: ( < [ \w \W ] + > ) [ ^ > ] * | # ( [ \w - ] * ) ) $ / ,
4041
4142 // Check if a string has a non-whitespace character in it
4243 rnotwhite = / \S / ,
@@ -196,7 +197,7 @@ jQuery.fn = jQuery.prototype = {
196197 selector : "" ,
197198
198199 // The current version of jQuery being used
199- jquery : "1.5.2 " ,
200+ jquery : "1.5.3-sec " ,
200201
201202 // The default length of a jQuery object is 0
202203 length : 0 ,
@@ -340,8 +341,9 @@ jQuery.extend = jQuery.fn.extend = function() {
340341 src = target [ name ] ;
341342 copy = options [ name ] ;
342343
344+ // Prevent Object.prototype pollution
343345 // Prevent never-ending loop
344- if ( target === copy ) {
346+ if ( name === "__proto__" || target === copy ) {
345347 continue ;
346348 }
347349
@@ -5035,15 +5037,13 @@ function winnow( elements, qualifier, keep ) {
50355037
50365038var rinlinejQuery = / j Q u e r y \d + = " (?: \d + | n u l l ) " / g,
50375039 rleadingWhitespace = / ^ \s + / ,
5038- rxhtmlTag = / < (? ! a r e a | b r | c o l | e m b e d | h r | i m g | i n p u t | l i n k | m e t a | p a r a m ) ( ( [ \w : ] + ) [ ^ > ] * ) \/ > / ig,
50395040 rtagName = / < ( [ \w : ] + ) / ,
50405041 rtbody = / < t b o d y / i,
50415042 rhtml = / < | & # ? \w + ; / ,
50425043 rnocache = / < (?: s c r i p t | o b j e c t | e m b e d | o p t i o n | s t y l e ) / i,
50435044 // checked="checked" or checked
50445045 rchecked = / c h e c k e d \s * (?: [ ^ = ] | = \s * .c h e c k e d .) / i,
50455046 wrapMap = {
5046- option : [ 1 , "<select multiple='multiple'>" , "</select>" ] ,
50475047 legend : [ 1 , "<fieldset>" , "</fieldset>" ] ,
50485048 thead : [ 1 , "<table>" , "</table>" ] ,
50495049 tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] ,
@@ -5053,7 +5053,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
50535053 _default : [ 0 , "" , "" ]
50545054 } ;
50555055
5056- wrapMap . optgroup = wrapMap . option ;
50575056wrapMap . tbody = wrapMap . tfoot = wrapMap . colgroup = wrapMap . caption = wrapMap . thead ;
50585057wrapMap . th = wrapMap . td ;
50595058
@@ -5236,8 +5235,6 @@ jQuery.fn.extend({
52365235 ( jQuery . support . leadingWhitespace || ! rleadingWhitespace . test ( value ) ) &&
52375236 ! wrapMap [ ( rtagName . exec ( value ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) {
52385237
5239- value = value . replace ( rxhtmlTag , "<$1></$2>" ) ;
5240-
52415238 try {
52425239 for ( var i = 0 , l = this . length ; i < l ; i ++ ) {
52435240 // Remove element nodes and prevent memory leaks
@@ -5607,8 +5604,6 @@ jQuery.extend({
56075604 elem = context . createTextNode ( elem ) ;
56085605
56095606 } else if ( typeof elem === "string" ) {
5610- // Fix "XHTML"-style tags in all browsers
5611- elem = elem . replace ( rxhtmlTag , "<$1></$2>" ) ;
56125607
56135608 // Trim whitespace, otherwise indexOf won't work as expected
56145609 var tag = ( rtagName . exec ( elem ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ,
@@ -6111,7 +6106,7 @@ var r20 = /%20/g,
61116106 rnoContent = / ^ (?: G E T | H E A D ) $ / ,
61126107 rprotocol = / ^ \/ \/ / ,
61136108 rquery = / \? / ,
6114- rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < \/ s c r i p t > / gi,
6109+ rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < * \/ * s c r i p t * > ? / gi,
61156110 rselectTextarea = / ^ (?: s e l e c t | t e x t a r e a ) / i,
61166111 rspacesAjax = / \s + / ,
61176112 rts = / ( [ ? & ] ) _ = [ ^ & ] * / ,
@@ -7162,6 +7157,13 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
71627157
71637158
71647159
7160+ // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
7161+ jQuery . ajaxPrefilter ( function ( s ) {
7162+ if ( s . crossDomain ) {
7163+ s . contents . script = false ;
7164+ }
7165+ } ) ;
7166+
71657167// Install script dataType
71667168jQuery . ajaxSetup ( {
71677169 accepts : {
0 commit comments