0
Résultats de validation

VizerStoreTutorsHD

VizerStoreTutorsHD

WordPress 6.5.2 theme
0
  • TYPE DE THèMEThème WordPress %s 6.5.2
  • NOM DU FICHIERVizer.zip
  • TAILLE DU FICHIER3794683 octets
  • MD5de7d8eb0c5ae11a524988e609c86d224
  • SHA104ff0cb48b63145a61a4ea03a3226e82873036cf
  • LICENCECreative Commons
  • FICHIERS INCLUSCSS, PHP, Bitmap images
  • URI DU THèME URIhttp://www.storetutorshd20.com.br
  • VERSION2.0.2
  • URI DE L'AUTEUR
  • DATE DE CRéATION2019-06-19
  • DERNIèRE MISE à JOUR DU FICHIER2019-06-19
  • DERNIèRE VALIDATION2019-06-19 01:58
  • AUTRES VERSIONS

    2.1.8 : 0%

Ce thème n'est peut être pas libre. Themecheck ne distribue pas de thèmes commerciaux.
Alertes critiques
  1. Title : Title Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.
  2. Présence d'iframes : Les iframes sont parfois utilisées pour charger du contenu non désirés ou du code malicieux sur des sites tiers <iframe width="600" height="360" src="" allowfullscreen> trouvé dans le fichier single_serie.php. 35: <iframe width='600' height='360' src='' allowfullscreen></iframe><iframe width="' + a + '" height="' + h + '" src="http://www.youtube.com/embed/' + r.id + "?autoplay=1&v=" + r.id + '" frameborder="0" allowfullscreen></iframe>':"vimeo" === r.type && (i = '<iframe src="http://player.vimeo.com/video/' + r.id + '?autoplay=1" width="' + a + '" height="' + h + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen> trouvé dans le fichier js.php. 2: (function(){var a, b, c, d, e, f = function(a, b){return function(){return a.apply(b, arguments)}}, g = [].indexOf || function(a){for (var b = 0, c = this.length; c > b; b++)if (b in this && this[b] === a)return b; return - 1}; b = function(){function a(){}return a.prototype.extend = function(a, b){var c, d; for (c in b)d = b[c], null == a[c] && (a[c] = d); return a}, a.prototype.isMobile = function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)}, a.prototype.createEvent = function(a, b, c, d){var e; return null == b && (b = !1), null == c && (c = !1), null == d && (d = null), null != document.createEvent?(e = document.createEvent('CustomEvent'), e.initCustomEvent(a, b, c, d)):null != document.createEventObject?(e = document.createEventObject(), e.eventType = a):e.eventName = a, e}, a.prototype.emitEvent = function(a, b){return null != a.dispatchEvent?a.dispatchEvent(b):b in(null != a)?a[b]():'on' + b in(null != a)?a['on' + b]():void 0}, a.prototype.addEvent = function(a, b, c){return null != a.addEventListener?a.addEventListener(b, c, !1):null != a.attachEvent?a.attachEvent('on' + b, c):a[b] = c}, a.prototype.removeEvent = function(a, b, c){return null != a.removeEventListener?a.removeEventListener(b, c, !1):null != a.detachEvent?a.detachEvent('on' + b, c):delete a[b]}, a.prototype.innerHeight = function(){return'innerHeight'in window?window.innerHeight:document.documentElement.clientHeight}, a}(), c = this.WeakMap || this.MozWeakMap || (c = function(){function a(){this.keys = [], this.values = []}return a.prototype.get = function(a){var b, c, d, e, f; for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d)if (c = f[b], c === a)return this.values[b]}, a.prototype.set = function(a, b){var c, d, e, f, g; for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e)if (d = g[c], d === a)return void(this.values[c] = b); return this.keys.push(a), this.values.push(b)}, a}()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function(){function a(){'undefined' != typeof console && null !== console && console.warn('MutationObserver is not supported by your browser.'), 'undefined' != typeof console && null !== console && console.warn('WOW.js cannot detect dom mutations, please call .sync() after loading new content.')}return a.notSupported = !0, a.prototype.observe = function(){}, a}()), d = this.getComputedStyle || function(a){return this.getPropertyValue = function(b){var c; return'float' === b && (b = 'styleFloat'), e.test(b) && b.replace(e, function(a, b){return b.toUpperCase()}), (null != (c = a.currentStyle)?c[b]:void 0) || null}, this}, e = /(\-([a-z]){1})/g, this.WOW = function(){function e(a){null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.resetAnimation = f(this.resetAnimation, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), null != a.scrollContainer && (this.config.scrollContainer = document.querySelector(a.scrollContainer)), this.animationNameCache = new c, this.wowEvent = this.util().createEvent(this.config.boxClass)}return e.prototype.defaults = {boxClass:'wow', animateClass:'animated', offset:0, mobile:!0, live:!0, callback:null, scrollContainer:null}, e.prototype.init = function(){var a; return this.element = window.document.documentElement, 'interactive' === (a = document.readyState) || 'complete' === a?this.start():this.util().addEvent(document, 'DOMContentLoaded', this.start), this.finished = []}, e.prototype.start = function(){var b, c, d, e; if (this.stopped = !1, this.boxes = function(){var a, c, d, e; for (d = this.element.querySelectorAll('.' + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++)b = d[a], e.push(b); return e}.call(this), this.all = function(){var a, c, d, e; for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++)b = d[a], e.push(b); return e}.call(this), this.boxes.length)if (this.disabled())this.resetStyle(); else for (e = this.boxes, c = 0, d = e.length; d > c; c++)b = e[c], this.applyStyle(b, !0); return this.disabled() || (this.util().addEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler), this.util().addEvent(window, 'resize', this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live?new a(function(a){return function(b){var c, d, e, f, g; for (g = [], c = 0, d = b.length; d > c; c++)f = b[c], g.push(function(){var a, b, c, d; for (c = f.addedNodes || [], d = [], a = 0, b = c.length; b > a; a++)e = c[a], d.push(this.doSync(e)); return d}.call(a)); return g}}(this)).observe(document.body, {childList:!0, subtree:!0}):void 0}, e.prototype.stop = function(){return this.stopped = !0, this.util().removeEvent(this.config.scrollContainer || window, 'scroll', this.scrollHandler), this.util().removeEvent(window, 'resize', this.scrollHandler), null != this.interval?clearInterval(this.interval):void 0}, e.prototype.sync = function(){return a.notSupported?this.doSync(this.element):void 0}, e.prototype.doSync = function(a){var b, c, d, e, f; if (null == a && (a = this.element), 1 === a.nodeType){for (a = a.parentNode || a, e = a.querySelectorAll('.' + this.config.boxClass), f = [], c = 0, d = e.length; d > c; c++)b = e[c], g.call(this.all, b) < 0?(this.boxes.push(b), this.all.push(b), this.stopped || this.disabled()?this.resetStyle():this.applyStyle(b, !0), f.push(this.scrolled = !0)):f.push(void 0); return f}}, e.prototype.show = function(a){return this.applyStyle(a), a.className = a.className + ' ' + this.config.animateClass, null != this.config.callback && this.config.callback(a), this.util().emitEvent(a, this.wowEvent), this.util().addEvent(a, 'animationend', this.resetAnimation), this.util().addEvent(a, 'oanimationend', this.resetAnimation), this.util().addEvent(a, 'webkitAnimationEnd', this.resetAnimation), this.util().addEvent(a, 'MSAnimationEnd', this.resetAnimation), a}, e.prototype.applyStyle = function(a, b){var c, d, e; return d = a.getAttribute('data-wow-duration'), c = a.getAttribute('data-wow-delay'), e = a.getAttribute('data-wow-iteration'), this.animate(function(f){return function(){return f.customStyle(a, b, d, c, e)}}(this))}, e.prototype.animate = function(){return'requestAnimationFrame'in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(), e.prototype.resetStyle = function(){var a, b, c, d, e; for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)a = d[b], e.push(a.style.visibility = 'visible'); return e}, e.prototype.resetAnimation = function(a){var b; return a.type.toLowerCase().indexOf('animationend') >= 0?(b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, '').trim()):void 0}, e.prototype.customStyle = function(a, b, c, d, e){return b && this.cacheAnimationName(a), a.style.visibility = b?'hidden':'visible', c && this.vendorSet(a.style, {animationDuration:c}), d && this.vendorSet(a.style, {animationDelay:d}), e && this.vendorSet(a.style, {animationIterationCount:e}), this.vendorSet(a.style, {animationName:b?'none':this.cachedAnimationName(a)}), a}, e.prototype.vendors = ['moz', 'webkit'], e.prototype.vendorSet = function(a, b){var c, d, e, f; d = []; for (c in b)e = b[c], a['' + c] = e, d.push(function(){var b, d, g, h; for (g = this.vendors, h = [], b = 0, d = g.length; d > b; b++)f = g[b], h.push(a['' + f + c.charAt(0).toUpperCase() + c.substr(1)] = e); return h}.call(this)); return d}, e.prototype.vendorCSS = function(a, b){var c, e, f, g, h, i; for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; e > c; c++)i = f[c], g = g || h.getPropertyCSSValue('-' + i + '-' + b); return g}, e.prototype.animationName = function(a){var b; try{b = this.vendorCSS(a, 'animation-name').cssText} catch (c){b = d(a).getPropertyValue('animation-name')}return'none' === b?'':b}, e.prototype.cacheAnimationName = function(a){return this.animationNameCache.set(a, this.animationName(a))}, e.prototype.cachedAnimationName = function(a){return this.animationNameCache.get(a)}, e.prototype.scrollHandler = function(){return this.scrolled = !0}, e.prototype.scrollCallback = function(){var a; return!this.scrolled || (this.scrolled = !1, this.boxes = function(){var b, c, d, e; for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)a = d[b], a && (this.isVisible(a)?this.show(a):e.push(a)); return e}.call(this), this.boxes.length || this.config.live)?void 0:this.stop()}, e.prototype.offsetTop = function(a){for (var b; void 0 === a.offsetTop; )a = a.parentNode; for (b = a.offsetTop; a = a.offsetParent; )b += a.offsetTop; return b}, e.prototype.isVisible = function(a){var b, c, d, e, f; return c = a.getAttribute('data-wow-offset') || this.config.offset, f = this.config.scrollContainer && this.config.scrollContainer.scrollTop || window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, e >= d && b >= f}, e.prototype.util = function(){return null != this._util?this._util:this._util = new b}, e.prototype.disabled = function(){return!this.config.mobile && this.util().isMobile(navigator.userAgent)}, e}()}).call(this); !function(e, t, i, o){var n = e(t); e.fn.lazyload = function(r){function f(){var t = 0; l.each(function(){var i = e(this); if (!h.skip_invisible || i.is(':visible'))if (e.abovethetop(this, h) || e.leftofbegin(this, h)); else if (e.belowthefold(this, h) || e.rightoffold(this, h)){if (++t > h.failure_limit)return!1} else i.trigger('appear'), t = 0})}var a, l = this, h = {threshold:0, failure_limit:0, event:'scroll', effect:'show', container:t, data_attribute:'original', skip_invisible:!1, appear:null, load:null, placeholder:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC'}; return r && (o !== r.failurelimit && (r.failure_limit = r.failurelimit, delete r.failurelimit), o !== r.effectspeed && (r.effect_speed = r.effectspeed, delete r.effectspeed), e.extend(h, r)), a = h.container === o || h.container === t?n:e(h.container), 0 === h.event.indexOf('scroll') && a.bind(h.event, function(){return f()}), this.each(function(){var t = this, i = e(t); t.loaded = !1, (i.attr('src') === o || i.attr('src') === !1) && i.is('img') && i.attr('src', h.placeholder), i.one('appear', function(){if (!this.loaded){if (h.appear){var o = l.length; h.appear.call(t, o, h)}e('<img />').bind('load', function(){var o = i.attr('data-' + h.data_attribute); i.hide(), i.is('img')?i.attr('src', o):i.css('background-image', 'url('' + o + '')'), i[h.effect](h.effect_speed), t.loaded = !0; var n = e.grep(l, function(e){return!e.loaded}); if (l = e(n), h.load){var r = l.length; h.load.call(t, r, h)}}).attr('src', i.attr('data-' + h.data_attribute))}}), 0 !== h.event.indexOf('scroll') && i.bind(h.event, function(){t.loaded || i.trigger('appear')})}), n.bind('resize', function(){f()}), /(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion) && n.bind('pageshow', function(t){t.originalEvent && t.originalEvent.persisted && l.each(function(){e(this).trigger('appear')})}), e(i).ready(function(){f()}), this}, e.belowthefold = function(i, r){var f; return f = r.container === o || r.container === t?(t.innerHeight?t.innerHeight:n.height()) + n.scrollTop():e(r.container).offset().top + e(r.container).height(), f <= e(i).offset().top - r.threshold}, e.rightoffold = function(i, r){var f; return f = r.container === o || r.container === t?n.width() + n.scrollLeft():e(r.container).offset().left + e(r.container).width(), f <= e(i).offset().left - r.threshold}, e.abovethetop = function(i, r){var f; return f = r.container === o || r.container === t?n.scrollTop():e(r.container).offset().top, f >= e(i).offset().top + r.threshold + e(i).height()}, e.leftofbegin = function(i, r){var f; return f = r.container === o || r.container === t?n.scrollLeft():e(r.container).offset().left, f >= e(i).offset().left + r.threshold + e(i).width()}, e.inviewport = function(t, i){return!(e.rightoffold(t, i) || e.leftofbegin(t, i) || e.belowthefold(t, i) || e.abovethetop(t, i))}, e.extend(e.expr[':'], {'below-the-fold':function(t){return e.belowthefold(t, {threshold:0})}, 'above-the-top':function(t){return!e.belowthefold(t, {threshold:0})}, 'right-of-screen':function(t){return e.rightoffold(t, {threshold:0})}, 'left-of-screen':function(t){return!e.rightoffold(t, {threshold:0})}, 'in-viewport':function(t){return e.inviewport(t, {threshold:0})}, 'above-the-fold':function(t){return!e.belowthefold(t, {threshold:0})}, 'right-of-fold':function(t){return e.rightoffold(t, {threshold:0})}, 'left-of-fold':function(t){return!e.rightoffold(t, {threshold:0})}})}(jQuery, window, document); !function(t, e, i, s){function n(e, i){this.settings = null, this.options = t.extend({}, n.Defaults, i), this.$element = t(e), this.drag = t.extend({}, p), this.state = t.extend({}, u), this.e = t.extend({}, g), this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._invalidated = {}, this._pipe = [], t.each(n.Plugins, t.proxy(function(t, e){this._plugins[t[0].toLowerCase() + t.slice(1)] = new e(this)}, this)), t.each(n.Pipe, t.proxy(function(e, i){this._pipe.push({filter:i.filter, run:t.proxy(i.run, this)})}, this)), this.setup(), this.initialize()}function o(t){if (t.touches !== s)return{x:t.touches[0].pageX, y:t.touches[0].pageY}; if (t.touches === s){if (t.pageX !== s)return{x:t.pageX, y:t.pageY}; if (t.pageX === s)return{x:t.clientX, y:t.clientY}}}function r(t){var e, s, n = i.createElement('div'), o = t; for (e in o)if (s = o[e], 'undefined' != typeof n.style[s])return n = null, [s, e]; return[!1]}function a(){return r(['transition', 'WebkitTransition', 'MozTransition', 'OTransition'])[1]}function h(){return r(['transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform'])[0]}function l(){return r(['perspective', 'webkitPerspective', 'MozPerspective', 'OPerspective', 'MsPerspective'])[0]}function c(){return'ontouchstart'in e || !!navigator.msMaxTouchPoints}function d(){return e.navigator.msPointerEnabled}var p, u, g; p = {start:0, startX:0, startY:0, current:0, currentX:0, currentY:0, offsetX:0, offsetY:0, distance:null, startTime:0, endTime:0, updatedX:0, targetEl:null}, u = {isTouch:!1, isScrolling:!1, isSwiping:!1, direction:!1, inMotion:!1}, g = {_onDragStart:null, _onDragMove:null, _onDragEnd:null, _transitionEnd:null, _resizer:null, _responsiveCall:null, _goToLoop:null, _checkVisibile:null}, n.Defaults = {items:3, loop:!1, center:!1, mouseDrag:!0, touchDrag:!0, pullDrag:!0, freeDrag:!1, margin:0, stagePadding:0, merge:!1, mergeFit:!0, autoWidth:!1, startPosition:0, rtl:!1, smartSpeed:250, fluidSpeed:!1, dragEndSpeed:!1, responsive:{}, responsiveRefreshRate:200, responsiveBaseElement:e, responsiveClass:!1, fallbackEasing:'swing', info:!1, nestedItemSelector:!1, itemElement:'div', stageElement:'div', themeClass:'owl-theme', baseClass:'owl-carousel', itemClass:'owl-item', centerClass:'center', activeClass:'active'}, n.Width = {Default:'default', Inner:'inner', Outer:'outer'}, n.Plugins = {}, n.Pipe = [{filter:['width', 'items', 'settings'], run:function(t){t.current = this._items && this._items[this.relative(this._current)]}}, {filter:['items', 'settings'], run:function(){var t = this._clones, e = this.$stage.children('.cloned'); (e.length !== t.length || !this.settings.loop && t.length > 0) && (this.$stage.children('.cloned').remove(), this._clones = [])}}, {filter:['items', 'settings'], run:function(){var t, e, i = this._clones, s = this._items, n = this.settings.loop?i.length - Math.max(2 * this.settings.items, 4):0; for (t = 0, e = Math.abs(n / 2); e > t; t++)n > 0?(this.$stage.children().eq(s.length + i.length - 1).remove(), i.pop(), this.$stage.children().eq(0).remove(), i.pop()):(i.push(i.length / 2), this.$stage.append(s[i[i.length - 1]].clone().addClass('cloned')), i.push(s.length - 1 - (i.length - 1) / 2), this.$stage.prepend(s[i[i.length - 1]].clone().addClass('cloned')))}}, {filter:['width', 'items', 'settings'], run:function(){var t, e, i, s = this.settings.rtl?1: - 1, n = (this.width() / this.settings.items).toFixed(3), o = 0; for (this._coordinates = [], e = 0, i = this._clones.length + this._items.length; i > e; e++)t = this._mergers[this.relative(e)], t = this.settings.mergeFit && Math.min(t, this.settings.items) || t, o += (this.settings.autoWidth?this._items[this.relative(e)].width() + this.settings.margin:n * t) * s, this._coordinates.push(o)}}, {filter:['width', 'items', 'settings'], run:function(){var e, i, s = (this.width() / this.settings.items).toFixed(3), n = {width:Math.abs(this._coordinates[this._coordinates.length - 1]) + 2 * this.settings.stagePadding, 'padding-left':this.settings.stagePadding || '', 'padding-right':this.settings.stagePadding || ''}; if (this.$stage.css(n), n = {width:this.settings.autoWidth?'auto':s - this.settings.margin}, n[this.settings.rtl?'margin-left':'margin-right'] = this.settings.margin, !this.settings.autoWidth && t.grep(this._mergers, function(t){return t > 1}).length > 0)for (e = 0, i = this._coordinates.length; i > e; e++)n.width = Math.abs(this._coordinates[e]) - Math.abs(this._coordinates[e - 1] || 0) - this.settings.margin, this.$stage.children().eq(e).css(n); else this.$stage.children().css(n)}}, {filter:['width', 'items', 'settings'], run:function(t){t.current && this.reset(this.$stage.children().index(t.current))}}, {filter:['position'], run:function(){this.animate(this.coordinates(this._current))}}, {filter:['width', 'position', 'items', 'settings'], run:function(){var t, e, i, s, n = this.settings.rtl?1: - 1, o = 2 * this.settings.stagePadding, r = this.coordinates(this.current()) + o, a = r + this.width() * n, h = []; for (i = 0, s = this._coordinates.length; s > i; i++)t = this._coordinates[i - 1] || 0, e = Math.abs(this._coordinates[i]) + o * n, (this.op(t, '<=', r) && this.op(t, '>', a) || this.op(e, '<', r) && this.op(e, '>', a)) && h.push(i); this.$stage.children('.' + this.settings.activeClass).removeClass(this.settings.activeClass), this.$stage.children(':eq(' + h.join('), :eq(') + ')').addClass(this.settings.activeClass), this.settings.center && (this.$stage.children('.' + this.settings.centerClass).removeClass(this.settings.centerClass), this.$stage.children().eq(this.current()).addClass(this.settings.centerClass))}}], n.prototype.initialize = function(){if (this.trigger('initialize'), this.$element.addClass(this.settings.baseClass).addClass(this.settings.themeClass).toggleClass('owl-rtl', this.settings.rtl), this.browserSupport(), this.settings.autoWidth && this.state.imagesLoaded !== !0){var e, i, n; if (e = this.$element.find('img'), i = this.settings.nestedItemSelector?'.' + this.settings.nestedItemSelector:s, n = this.$element.children(i).width(), e.length && 0 >= n)return this.preloadAutoWidthImages(e), !1}this.$element.addClass('owl-loading'), this.$stage = t('<' + this.settings.stageElement + ' class='owl-stage'/>').wrap('<div class='owl-stage-outer'>'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this._width = this.$element.width(), this.refresh(), this.$element.removeClass('owl-loading').addClass('owl-loaded'), this.eventsCall(), this.internalEvents(), this.addTriggerableEvents(), this.trigger('initialized')}, n.prototype.setup = function(){var e = this.viewport(), i = this.options.responsive, s = - 1, n = null; i?(t.each(i, function(t){e >= t && t > s && (s = Number(t))}), n = t.extend({}, this.options, i[s]), delete n.responsive, n.responsiveClass && this.$element.attr('class', function(t, e){return e.replace(/\b owl-responsive-\S+/g, '')}).addClass('owl-responsive-' + s)):n = t.extend({}, this.options), (null === this.settings || this._breakpoint !== s) && (this.trigger('change', {property:{name:'settings', value:n}}), this._breakpoint = s, this.settings = n, this.invalidate('settings'), this.trigger('changed', {property:{name:'settings', value:this.settings}}))}, n.prototype.optionsLogic = function(){this.$element.toggleClass('owl-center', this.settings.center), this.settings.loop && this._items.length < this.settings.items && (this.settings.loop = !1), this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)}, n.prototype.prepare = function(e){var i = this.trigger('prepare', {content:e}); return i.data || (i.data = t('<' + this.settings.itemElement + '/>').addClass(this.settings.itemClass).append(e)), this.trigger('prepared', {content:i.data}), i.data}, n.prototype.update = function(){for (var e = 0, i = this._pipe.length, s = t.proxy(function(t){return this[t]}, this._invalidated), n = {}; i > e; )(this._invalidated.all || t.grep(this._pipe[e].filter, s).length > 0) && this._pipe[e].run(n), e++; this._invalidated = {}}, n.prototype.width = function(t){switch (t = t || n.Width.Default){case n.Width.Inner:case n.Width.Outer:return this._width; default:return this._width - 2 * this.settings.stagePadding + this.settings.margin}}, n.prototype.refresh = function(){if (0 === this._items.length)return!1; (new Date).getTime(); this.trigger('refresh'), this.setup(), this.optionsLogic(), this.$stage.addClass('owl-refresh'), this.update(), this.$stage.removeClass('owl-refresh'), this.state.orientation = e.orientation, this.watchVisibility(), this.trigger('refreshed')}, n.prototype.eventsCall = function(){this.e._onDragStart = t.proxy(function(t){this.onDragStart(t)}, this), this.e._onDragMove = t.proxy(function(t){this.onDragMove(t)}, this), this.e._onDragEnd = t.proxy(function(t){this.onDragEnd(t)}, this), this.e._onResize = t.proxy(function(t){this.onResize(t)}, this), this.e._transitionEnd = t.proxy(function(t){this.transitionEnd(t)}, this), this.e._preventClick = t.proxy(function(t){this.preventClick(t)}, this)}, n.prototype.onThrottledResize = function(){e.clearTimeout(this.resizeTimer), this.resizeTimer = e.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate)}, n.prototype.onResize = function(){return this._items.length?this._width === this.$element.width()?!1:this.trigger('resize').isDefaultPrevented()?!1:(this._width = this.$element.width(), this.invalidate('width'), this.refresh(), void this.trigger('resized')):!1}, n.prototype.eventsRouter = function(t){var e = t.type; 'mousedown' === e || 'touchstart' === e?this.onDragStart(t):'mousemove' === e || 'touchmove' === e?this.onDragMove(t):'mouseup' === e || 'touchend' === e?this.onDragEnd(t):'touchcancel' === e && this.onDragEnd(t)}, n.prototype.internalEvents = function(){var i = (c(), d()); this.settings.mouseDrag?(this.$stage.on('mousedown', t.proxy(function(t){this.eventsRouter(t)}, this)), this.$stage.on('dragstart', function(){return!1}), this.$stage.get(0).onselectstart = function(){return!1}):this.$element.addClass('owl-text-select-on'), this.settings.touchDrag && !i && this.$stage.on('touchstart touchcancel', t.proxy(function(t){this.eventsRouter(t)}, this)), this.transitionEndVendor && this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, !1), this.settings.responsive !== !1 && this.on(e, 'resize', t.proxy(this.onThrottledResize, this))}, n.prototype.onDragStart = function(s){var n, r, a, h; if (n = s.originalEvent || s || e.event, 3 === n.which || this.state.isTouch)return!1; if ('mousedown' === n.type && this.$stage.addClass('owl-grab'), this.trigger('drag'), this.drag.startTime = (new Date).getTime(), this.speed(0), this.state.isTouch = !0, this.state.isScrolling = !1, this.state.isSwiping = !1, this.drag.distance = 0, r = o(n).x, a = o(n).y, this.drag.offsetX = this.$stage.position().left, this.drag.offsetY = this.$stage.position().top, this.settings.rtl && (this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width() + this.settings.margin), this.state.inMotion && this.support3d)h = this.getTransformProperty(), this.drag.offsetX = h, this.animate(h), this.state.inMotion = !0; else if (this.state.inMotion && !this.support3d)return this.state.inMotion = !1, !1; this.drag.startX = r - this.drag.offsetX, this.drag.startY = a - this.drag.offsetY, this.drag.start = r - this.drag.startX, this.drag.targetEl = n.target || n.srcElement, this.drag.updatedX = this.drag.start, ('IMG' === this.drag.targetEl.tagName || 'A' === this.drag.targetEl.tagName) && (this.drag.targetEl.draggable = !1), t(i).on('mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents', t.proxy(function(t){this.eventsRouter(t)}, this))}, n.prototype.onDragMove = function(t){var i, n, r, a, h, l; this.state.isTouch && (this.state.isScrolling || (i = t.originalEvent || t || e.event, n = o(i).x, r = o(i).y, this.drag.currentX = n - this.drag.startX, this.drag.currentY = r - this.drag.startY, this.drag.distance = this.drag.currentX - this.drag.offsetX, this.drag.distance < 0?this.state.direction = this.settings.rtl?'right':'left':this.drag.distance > 0 && (this.state.direction = this.settings.rtl?'left':'right'), this.settings.loop?this.op(this.drag.currentX, '>', this.coordinates(this.minimum())) && 'right' === this.state.direction?this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length):this.op(this.drag.currentX, '<', this.coordinates(this.maximum())) && 'left' === this.state.direction && (this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length)):(a = this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()), h = this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()), l = this.settings.pullDrag?this.drag.distance / 5:0, this.drag.currentX = Math.max(Math.min(this.drag.currentX, a + l), h + l)), (this.drag.distance > 8 || this.drag.distance < - 8) && (i.preventDefault !== s?i.preventDefault():i.returnValue = !1, this.state.isSwiping = !0), this.drag.updatedX = this.drag.currentX, (this.drag.currentY > 16 || this.drag.currentY < - 16) && this.state.isSwiping === !1 && (this.state.isScrolling = !0, this.drag.updatedX = this.drag.start), this.animate(this.drag.updatedX)))}, n.prototype.onDragEnd = function(e){var s, n, o; if (this.state.isTouch){if ('mouseup' === e.type && this.$stage.removeClass('owl-grab'), this.trigger('dragged'), this.drag.targetEl.removeAttribute('draggable'), this.state.isTouch = !1, this.state.isScrolling = !1, this.state.isSwiping = !1, 0 === this.drag.distance && this.state.inMotion !== !0)return this.state.inMotion = !1, !1; this.drag.endTime = (new Date).getTime(), s = this.drag.endTime - this.drag.startTime, n = Math.abs(this.drag.distance), (n > 3 || s > 300) && this.removeClick(this.drag.targetEl), o = this.closest(this.drag.updatedX), this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(o), this.invalidate('position'), this.update(), this.settings.pullDrag || this.drag.updatedX !== this.coordinates(o) || this.transitionEnd(), this.drag.distance = 0, t(i).off('.owl.dragEvents')}}, n.prototype.removeClick = function(i){this.drag.targetEl = i, t(i).on('click.preventClick', this.e._preventClick), e.setTimeout(function(){t(i).off('click.preventClick')}, 300)}, n.prototype.preventClick = function(e){e.preventDefault?e.preventDefault():e.returnValue = !1, e.stopPropagation && e.stopPropagation(), t(e.target).off('click.preventClick')}, n.prototype.getTransformProperty = function(){var t, i; return t = e.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + 'transform'), t = t.replace(/matrix(3d)?\(|\)/g, '').split(','), i = 16 === t.length, i !== !0?t[4]:t[12]}, n.prototype.closest = function(e){var i = - 1, s = 30, n = this.width(), o = this.coordinates(); return this.settings.freeDrag || t.each(o, t.proxy(function(t, r){return e > r - s && r + s > e?i = t:this.op(e, '<', r) && this.op(e, '>', o[t + 1] || r - n) && (i = 'left' === this.state.direction?t + 1:t), - 1 === i}, this)), this.settings.loop || (this.op(e, '>', o[this.minimum()])?i = e = this.minimum():this.op(e, '<', o[this.maximum()]) && (i = e = this.maximum())), i}, n.prototype.animate = function(e){this.trigger('translate'), this.state.inMotion = this.speed() > 0, this.support3d?this.$stage.css({transform:'translate3d(' + e + 'px,0px, 0px)', transition:this.speed() / 1e3 + 's'}):this.state.isTouch?this.$stage.css({left:e + 'px'}):this.$stage.animate({left:e}, this.speed() / 1e3, this.settings.fallbackEasing, t.proxy(function(){this.state.inMotion && this.transitionEnd()}, this))}, n.prototype.current = function(t){if (t === s)return this._current; if (0 === this._items.length)return s; if (t = this.normalize(t), this._current !== t){var e = this.trigger('change', {property:{name:'position', value:t}}); e.data !== s && (t = this.normalize(e.data)), this._current = t, this.invalidate('position'), this.trigger('changed', {property:{name:'position', value:this._current}})}return this._current}, n.prototype.invalidate = function(t){this._invalidated[t] = !0}, n.prototype.reset = function(t){t = this.normalize(t), t !== s && (this._speed = 0, this._current = t, this.suppress(['translate', 'translated']), this.animate(this.coordinates(t)), this.release(['translate', 'translated']))}, n.prototype.normalize = function(e, i){var n = i?this._items.length:this._items.length + this._clones.length; return!t.isNumeric(e) || 1 > n?s:e = this._clones.length?(e % n + n) % n:Math.max(this.minimum(i), Math.min(this.maximum(i), e))}, n.prototype.relative = function(t){return t = this.normalize(t), t -= this._clones.length / 2, this.normalize(t, !0)}, n.prototype.maximum = function(t){var e, i, s, n = 0, o = this.settings; if (t)return this._items.length - 1; if (!o.loop && o.center)e = this._items.length - 1; else if (o.loop || o.center)if (o.loop || o.center)e = this._items.length + o.items; else{if (!o.autoWidth && !o.merge)throw'Can not detect maximum absolute position.'; for (revert = o.rtl?1: - 1, i = this.$stage.width() - this.$element.width(); (s = this.coordinates(n)) && !(s * revert >= i); )e = ++n} else e = this._items.length - o.items; return e}, n.prototype.minimum = function(t){return t?0:this._clones.length / 2}, n.prototype.items = function(t){return t === s?this._items.slice():(t = this.normalize(t, !0), this._items[t])}, n.prototype.mergers = function(t){return t === s?this._mergers.slice():(t = this.normalize(t, !0), this._mergers[t])}, n.prototype.clones = function(e){var i = this._clones.length / 2, n = i + this._items.length, o = function(t){return t % 2 === 0?n + t / 2:i - (t + 1) / 2}; return e === s?t.map(this._clones, function(t, e){return o(e)}):t.map(this._clones, function(t, i){return t === e?o(i):null})}, n.prototype.speed = function(t){return t !== s && (this._speed = t), this._speed}, n.prototype.coordinates = function(e){var i = null; return e === s?t.map(this._coordinates, t.proxy(function(t, e){return this.coordinates(e)}, this)):(this.settings.center?(i = this._coordinates[e], i += (this.width() - i + (this._coordinates[e - 1] || 0)) / 2 * (this.settings.rtl? - 1:1)):i = this._coordinates[e - 1] || 0, i)}, n.prototype.duration = function(t, e, i){return Math.min(Math.max(Math.abs(e - t), 1), 6) * Math.abs(i || this.settings.smartSpeed)}, n.prototype.to = function(i, s){if (this.settings.loop){var n = i - this.relative(this.current()), o = this.current(), r = this.current(), a = this.current() + n, h = 0 > r - a?!0:!1, l = this._clones.length + this._items.length; a < this.settings.items && h === !1?(o = r + this._items.length, this.reset(o)):a >= l - this.settings.items && h === !0 && (o = r - this._items.length, this.reset(o)), e.clearTimeout(this.e._goToLoop), this.e._goToLoop = e.setTimeout(t.proxy(function(){this.speed(this.duration(this.current(), o + n, s)), this.current(o + n), this.update()}, this), 30)} else this.speed(this.duration(this.current(), i, s)), this.current(i), this.update()}, n.prototype.next = function(t){t = t || !1, this.to(this.relative(this.current()) + 1, t)}, n.prototype.prev = function(t){t = t || !1, this.to(this.relative(this.current()) - 1, t)}, n.prototype.transitionEnd = function(t){return t !== s && (t.stopPropagation(), (t.target || t.srcElement || t.originalTarget) !== this.$stage.get(0))?!1:(this.state.inMotion = !1, void this.trigger('translated'))}, n.prototype.viewport = function(){var s; if (this.options.responsiveBaseElement !== e)s = t(this.options.responsiveBaseElement).width(); else if (e.innerWidth)s = e.innerWidth; else{if (!i.documentElement || !i.documentElement.clientWidth)throw'Can not detect viewport width.'; s = i.documentElement.clientWidth}return s}, n.prototype.replace = function(e){this.$stage.empty(), this._items = [], e && (e = e instanceof jQuery?e:t(e)), this.settings.nestedItemSelector && (e = e.find('.' + this.settings.nestedItemSelector)), e.filter(function(){return 1 === this.nodeType}).each(t.proxy(function(t, e){e = this.prepare(e), this.$stage.append(e), this._items.push(e), this._mergers.push(1 * e.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') || 1)}, this)), this.reset(t.isNumeric(this.settings.startPosition)?this.settings.startPosition:0), this.invalidate('items')}, n.prototype.add = function(t, e){e = e === s?this._items.length:this.normalize(e, !0), this.trigger('add', {content:t, position:e}), 0 === this._items.length || e === this._items.length?(this.$stage.append(t), this._items.push(t), this._mergers.push(1 * t.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') || 1)):(this._items[e].before(t), this._items.splice(e, 0, t), this._mergers.splice(e, 0, 1 * t.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') || 1)), this.invalidate('items'), this.trigger('added', {content:t, position:e})}, n.prototype.remove = function(t){t = this.normalize(t, !0), t !== s && (this.trigger('remove', {content:this._items[t], position:t}), this._items[t].remove(), this._items.splice(t, 1), this._mergers.splice(t, 1), this.invalidate('items'), this.trigger('removed', {content:null, position:t}))}, n.prototype.addTriggerableEvents = function(){var e = t.proxy(function(e, i){return t.proxy(function(t){t.relatedTarget !== this && (this.suppress([i]), e.apply(this, [].slice.call(arguments, 1)), this.release([i]))}, this)}, this); t.each({next:this.next, prev:this.prev, to:this.to, destroy:this.destroy, refresh:this.refresh, replace:this.replace, add:this.add, remove:this.remove}, t.proxy(function(t, i){this.$element.on(t + '.owl.carousel', e(i, t + '.owl.carousel'))}, this))}, n.prototype.watchVisibility = function(){function i(t){return t.offsetWidth > 0 && t.offsetHeight > 0}function s(){i(this.$element.get(0)) && (this.$element.removeClass('owl-hidden'), this.refresh(), e.clearInterval(this.e._checkVisibile))}i(this.$element.get(0)) || (this.$element.addClass('owl-hidden'), e.clearInterval(this.e._checkVisibile), this.e._checkVisibile = e.setInterval(t.proxy(s, this), 500))}, n.prototype.preloadAutoWidthImages = function(e){var i, s, n, o; i = 0, s = this, e.each(function(r, a){n = t(a), o = new Image, o.onload = function(){i++, n.attr('src', o.src), n.css('opacity', 1), i >= e.length && (s.state.imagesLoaded = !0, s.initialize())}, o.src = n.attr('src') || n.attr('data-src') || n.attr('data-src-retina')})}, n.prototype.destroy = function(){this.$element.hasClass(this.settings.themeClass) && this.$element.removeClass(this.settings.themeClass), this.settings.responsive !== !1 && t(e).off('resize.owl.carousel'), this.transitionEndVendor && this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd); for (var s in this._plugins)this._plugins[s].destroy(); (this.settings.mouseDrag || this.settings.touchDrag) && (this.$stage.off('mousedown touchstart touchcancel'), t(i).off('.owl.dragEvents'), this.$stage.get(0).onselectstart = function(){}, this.$stage.off('dragstart', function(){return!1})), this.$element.off('.owl'), this.$stage.children('.cloned').remove(), this.e = null, this.$element.removeData('owlCarousel'), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$stage.unwrap()}, n.prototype.op = function(t, e, i){var s = this.settings.rtl; switch (e){case'<':return s?t > i:i > t; case'>':return s?i > t:t > i; case'>=':return s?i >= t:t >= i; case'<=':return s?t >= i:i >= t}}, n.prototype.on = function(t, e, i, s){t.addEventListener?t.addEventListener(e, i, s):t.attachEvent && t.attachEvent('on' + e, i)}, n.prototype.off = function(t, e, i, s){t.removeEventListener?t.removeEventListener(e, i, s):t.detachEvent && t.detachEvent('on' + e, i)}, n.prototype.trigger = function(e, i, s){var n = {item:{count:this._items.length, index:this.current()}}, o = t.camelCase(t.grep(['on', e, s], function(t){return t}).join('-').toLowerCase()), r = t.Event([e, 'owl', s || 'carousel'].join('.').toLowerCase(), t.extend({relatedTarget:this}, n, i)); return this._supress[e] || (t.each(this._plugins, function(t, e){e.onTrigger && e.onTrigger(r)}), this.$element.trigger(r), this.settings && 'function' == typeof this.settings[o] && this.settings[o].apply(this, r)), r}, n.prototype.suppress = function(e){t.each(e, t.proxy(function(t, e){this._supress[e] = !0}, this))}, n.prototype.release = function(e){t.each(e, t.proxy(function(t, e){delete this._supress[e]}, this))}, n.prototype.browserSupport = function(){if (this.support3d = l(), this.support3d){this.transformVendor = h(); var t = ['transitionend', 'webkitTransitionEnd', 'transitionend', 'oTransitionEnd']; this.transitionEndVendor = t[a()], this.vendorName = this.transformVendor.replace(/Transform/i, ''), this.vendorName = '' !== this.vendorName?'-' + this.vendorName.toLowerCase() + '-':''}this.state.orientation = e.orientation}, t.fn.owlCarousel = function(e){return this.each(function(){t(this).data('owlCarousel') || t(this).data('owlCarousel', new n(this, e))})}, t.fn.owlCarousel.Constructor = n}(window.Zepto || window.jQuery, window, document), function(t, e, i, s){var n = function(e){this._core = e, this._loaded = [], this._handlers = {'initialized.owl.carousel change.owl.carousel':t.proxy(function(e){if (e.namespace && this._core.settings && this._core.settings.lazyLoad && (e.property && 'position' == e.property.name || 'initialized' == e.type))for (var i = this._core.settings, s = i.center && Math.ceil(i.items / 2) || i.items, n = i.center && - 1 * s || 0, o = (e.property && e.property.value || this._core.current()) + n, r = this._core.clones().length, a = t.proxy(function(t, e){this.load(e)}, this); n++<s;)this.load(r/2+this._core.relative(o)),r&&t.each(this._core.clones(this._core.relative(o++)),a)},this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers)};n.Defaults={lazyLoad:!1},n.prototype.load=function(i){var s = this._core.$stage.children().eq(i), n = s && s.find('.owl-lazy'); !n || t.inArray(s.get(0), this._loaded) > - 1 || (n.each(t.proxy(function(i, s){var n, o = t(s), r = e.devicePixelRatio > 1 && o.attr('data-src-retina') || o.attr('data-src'); this._core.trigger('load', {element:o, url:r},'lazy'),o.is('img')?o.one('load.owl.lazy',t.proxy(function(){o.css('opacity', 1), this._core.trigger('loaded', {element:o, url:r},'lazy')},this)).attr('src',r):(n=new Image,n.onload=t.proxy(function(){o.css({'background-image':'url(' + r + ')', opacity:'1'}),this._core.trigger('loaded',{element:o, url:r},'lazy')},this),n.src=r)},this)),this._loaded.push(s.get(0)))},n.prototype.destroy=function(){var t, e; for (t in this.handlers)this._core.$element.off(t, this.handlers[t]); for (e in Object.getOwnPropertyNames(this))'function' != typeof this[e] && (this[e] = null)},t.fn.owlCarousel.Constructor.Plugins.Lazy=n}(window.Zepto||window.jQuery,window,document),function(t,e,i,s){var n = function(e){this._core = e, this._handlers = {'initialized.owl.carousel':t.proxy(function(){this._core.settings.autoHeight && this.update()},this),'changed.owl.carousel':t.proxy(function(t){this._core.settings.autoHeight && 'position' == t.property.name && this.update()},this),'loaded.owl.lazy':t.proxy(function(t){this._core.settings.autoHeight && t.element.closest('.' + this._core.settings.itemClass) === this._core.$stage.children().eq(this._core.current()) && this.update()},this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers)};n.Defaults={autoHeight:!1, autoHeightClass:'owl-height'},n.prototype.update=function(){this._core.$stage.parent().height(this._core.$stage.children().eq(this._core.current()).height()).addClass(this._core.settings.autoHeightClass)},n.prototype.destroy=function(){var t, e; for (t in this._handlers)this._core.$element.off(t, this._handlers[t]); for (e in Object.getOwnPropertyNames(this))'function' != typeof this[e] && (this[e] = null)},t.fn.owlCarousel.Constructor.Plugins.AutoHeight=n}(window.Zepto||window.jQuery,window,document),function(t,e,i,s){var n = function(e){this._core = e, this._videos = {},this._playing=null,this._fullscreen=!1,this._handlers={'resize.owl.carousel':t.proxy(function(t){this._core.settings.video && !this.isInFullScreen() && t.preventDefault()},this),'refresh.owl.carousel changed.owl.carousel':t.proxy(function(t){this._playing && this.stop()},this),'prepared.owl.carousel':t.proxy(function(e){var i = t(e.content).find('.owl-video'); i.length && (i.css('display', 'none'), this.fetch(i, t(e.content)))},this)},this._core.options=t.extend({},n.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on('click.owl.video','.owl-video-play-icon',t.proxy(function(t){this.play(t)},this))};n.Defaults={video:!1, videoHeight:!1, videoWidth:!1},n.prototype.fetch=function(t,e){var i = t.attr('data-vimeo-id')?'vimeo':'youtube', s = t.attr('data-vimeo-id') || t.attr('data-youtube-id'), n = t.attr('data-width') || this._core.settings.videoWidth, o = t.attr('data-height') || this._core.settings.videoHeight, r = t.attr('href'); if (!r)throw new Error('Missing video URL.'); if (s = r.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), s[3].indexOf('youtu') > - 1)i = 'youtube'; else{if (!(s[3].indexOf('vimeo') > - 1))throw new Error('Video URL not supported.'); i = 'vimeo'}s=s[6],this._videos[r]={type:i, id:s, width:n, height:o},e.attr('data-video',r),this.thumbnail(t,this._videos[r])},n.prototype.thumbnail=function(e,i){var s, n, o, r = i.width && i.height?'style='width:' + i.width + 'px;height:' + i.height + 'px;'':'', a = e.find('img'), h = 'src', l = '', c = this._core.settings, d = function(t){n = '<div class='owl-video-play-icon'></div>', s = c.lazyLoad?'<div class='owl-video-tn ' + l + '' ' + h + '='' + t + ''></div>':'<div class='owl-video-tn' style='opacity:1;background-image:url(' + t + ')'></div>', e.after(s), e.after(n)};return e.wrap('<div class='owl-video-wrapper''+r+'></div>'),this._core.settings.lazyLoad&&(h='data-src',l='owl-lazy'),a.length?(d(a.attr(h)),a.remove(),!1):void('youtube'===i.type?(o='http://img.youtube.com/vi/'+i.id+'/hqdefault.jpg',d(o)):'vimeo'===i.type&&t.ajax({type:'GET', url:'http://vimeo.com/api/v2/video/' + i.id + '.json', jsonp:'callback', dataType:'jsonp', success:function(t){o = t[0].thumbnail_large, d(o)}}))},n.prototype.stop=function(){this._core.trigger('stop', null, 'video'), this._playing.find('.owl-video-frame').remove(), this._playing.removeClass('owl-video-playing'), this._playing = null},n.prototype.play=function(e){this._core.trigger('play', null, 'video'), this._playing && this.stop(); var i, s, n = t(e.target || e.srcElement), o = n.closest('.' + this._core.settings.itemClass), r = this._videos[o.attr('data-video')], a = r.width || '100%', h = r.height || this._core.$stage.height(); 'youtube' === r.type?i = '<iframe width='' + a + '' height='' + h + '' src='http://www.youtube.com/em<iframe src='<?php echo $my_meta['url_11'] ?> trouvé dans le fichier single_tv.php. 20: <div class='openplayer hover' data-player='<center><iframe src='<?php echo $my_meta['url_11'] ?>' scrolling='no' class='player<iframe src="<?php echo $field['url']; ?> trouvé dans le fichier player.php. 35: <div class='item get_player_content' data-player-content='<iframe src='<?php echo $field['url']; ?>' scrolling='no' frameborder='0' a<iframe width="600" height="360" src="" allowfullscreen> trouvé dans le fichier peliculas.php. 59: <iframe width='600' height='360' src='' allowfullscreen></iframe><iframe width="600" height="360" src="" allowfullscreen> trouvé dans le fichier episodios.php. 53: <iframe width='600' height='360' src='' allowfullscreen></iframe><iframe width="600" height="360" src="" allowfullscreen> trouvé dans le fichier series.php. 59: <iframe width='600' height='360' src='' allowfullscreen></iframe><iframe width="600" height="360" src="" allowfullscreen> trouvé dans le fichier post.php. 49: <iframe width='600' height='360' src='' allowfullscreen></iframe><iframe src="<?php echo $field['url']; ?> trouvé dans le fichier player-filmes.php. 20: <div class='item get_player_content' data-player-content='<iframe src='<?php echo $field['url']; ?>' scrolling='no' frameborder='0' a<iframe width="600" height="450" src="//www.youtube.com/embed/','" frameborder="0" allowfullscreen> trouvé dans le fichier metabox.php. 377: array('<div class='youtube_id_tv'><iframe width='600' height='450' src='//www.youtube.com/embed/','' framebor
  3. Code malveillant : Opérations sur système de fichiers file_get_contents trouvé dans le fichier recaptchalib.php. 93: $response = file_get_contents($path . $req);file_get_contents trouvé dans le fichier episodes.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier episodes.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier episodes.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier requests.php. 19: $jsonn = file_get_contents($api);29: $json_1 = file_get_contents($api_1);61: $json_2 = file_get_contents($api_2);98: $json_3 = file_get_contents($api_3);file_get_contents trouvé dans le fichier requests.php. 19: $jsonn = file_get_contents($api);29: $json_1 = file_get_contents($api_1);61: $json_2 = file_get_contents($api_2);98: $json_3 = file_get_contents($api_3);file_get_contents trouvé dans le fichier requests.php. 19: $jsonn = file_get_contents($api);29: $json_1 = file_get_contents($api_1);61: $json_2 = file_get_contents($api_2);98: $json_3 = file_get_contents($api_3);file_get_contents trouvé dans le fichier requests.php. 19: $jsonn = file_get_contents($api);29: $json_1 = file_get_contents($api_1);61: $json_2 = file_get_contents($api_2);98: $json_3 = file_get_contents($api_3);file_get_contents trouvé dans le fichier serie.php. 16: $json2 = file_get_contents($urla);77: $json3 = file_get_contents($urlb);96: $json4 = file_get_contents($urlc);file_get_contents trouvé dans le fichier serie.php. 16: $json2 = file_get_contents($urla);77: $json3 = file_get_contents($urlb);96: $json4 = file_get_contents($urlc);file_get_contents trouvé dans le fichier serie.php. 16: $json2 = file_get_contents($urla);77: $json3 = file_get_contents($urlb);96: $json4 = file_get_contents($urlc);file_get_contents trouvé dans le fichier episodes_admin.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier episodes_admin.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier episodes_admin.php. 16: $json2 = file_get_contents($urltname);20: $json1 = file_get_contents($urltoc);26: $json = file_get_contents($url);file_get_contents trouvé dans le fichier seasons_admin.php. 20: $json2 = file_get_contents($urltname);27: $json = file_get_contents($url);file_get_contents trouvé dans le fichier seasons_admin.php. 20: $json2 = file_get_contents($urltname);27: $json = file_get_contents($url);
  4. Menu Admin : Les thèmes doivent utiliser add_theme_page () pour ajouter des pages admin. Fichier dbmovies.php : 4: add_menu_page(
  5. Barre d'admin cachée : Barre d'admin cachée Les thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier init.php.
  6. Réponses aux commentaires : Déclarations des réponses aux commentaires Impossible de trouver le script js comment-reply.
  7. Largeur de la page : Définition correcte de content_width Aucune largeur de contenu a été définie. Exemple:
    if ( ! isset ($content_width) ) $content_width = 900;
  8. Fonctions obsolètes : screen_icon screen_icon trouvé dans le fichier class-tgm-plugin-activation.php . Obsolète depuis la version de la 3.8. 391: screen_icon( apply_filters( 'tgmpa_default_screen_icon', 'themes' ) );1585: screen_icon( apply_filters( 'tgmpa_default_screen_icon', 'themes' ) );
  9. Fonctions obsolètes : get_currentuserinfo get_currentuserinfo trouvé dans le fichier account.php . Obsolète depuis la version de la 4.5. Il est prérable d'utiliser wp_get_current_user à la place. 3: get_currentuserinfo();
  10. Fonctions obsolètes : get_option get_option('home') trouvé dans le fichier page-category.php. Il est préférable d'utiliser home_url(). 9: <a href='<?php echo get_option('home'); ?>/category/filmes/lancamentos/'>19: <a href='<?php echo get_option('home'); ?>/category/filmes/comedia/'>29: <a href='<?php echo get_option('home'); ?>/category/filmes/guerra/'>39: <a href='<?php echo get_option('home'); ?>/category/filmes/misterio/'>49: <a href='<?php echo get_option('home'); ?>/category/filmes/familia/'>59: <a href='<?php echo get_option('home'); ?>/category/filmes/animacao/'>69: <a href='<?php echo get_option('home'); ?>/category/filmes/herois/'>79: <a href='<?php echo get_option('home'); ?>/category/filmes/drama/'>89: <a href='<?php echo get_option('home'); ?>/category/filmes/aventura/'>99: <a href='<?php echo get_option('home'); ?>/category/filmes/romance/'>109: <a href='<?php echo get_option('home'); ?>/category/filmes/terror/'>119: <a href='<?php echo get_option('home'); ?>/category/filmes/documentario/'>129: <a href='<?php echo get_option('home'); ?>/category/filmes/suspense/'>139: <a href='<?php echo get_option('home'); ?>/category/filmes/musical/'>149: <a href='<?php echo get_option('home'); ?>/category/filmes/ficcao-cientifica/'>159: <a href='<?php echo get_option('home'); ?>/category/filmes/policial/'>169: <a href='<?php echo get_option('home'); ?>/category/filmes/corrida/'>179: <a href='<?php echo get_option('home'); ?>/category/filmes/acao/'>
  11. Pagination des posts : Implémentation Le thème n'a pas de pagination. La pagination des posts doit être prise en charge par les fonctions posts_nav_link () ou paginate_links () ou the_posts_pagination() ou the_posts_navigation() ou next_posts_link () et previous_posts_link().
  12. Inclusion de plugin : Présence de fichier zip Les plugins ne sont pas autorisés dans les thèmes. Le fichier zip custom-category-templates.zip single-post-template.zip a été trouvé.
Attention
  1. Script de core désabonné : Désabonnement d'un script de coreAppel à wp_deregister_script dans init.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core. 1478: wp_deregister_script('autosave');
  2. URIs particulières : Présence de tags inconnusTheme URI et Author URI ne doivent pas être identiques.
  3. tags du thème : Présence de tags inconnusTag inconnu trouvé dans l'entête du fichier style.css.
  4. Text domain : Utilisation incorrecte des fonctions de traduction.Mauvaus répertoire d'installation pour le thème. Le nom du répertoir doit correspondre au slug du thème. Le slug de ce thème ainsi que le text-domain est vizerstoretutorshd.
  5. Text domain : Utilisation incorrecte des fonctions de traduction.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier single_serie.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Views' dans le fichier views.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier peliculas.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier episodios.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier series.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier post.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments '%1$s &ldquo;%2$s&rdquo;', 'vizer' dans le fichier temporadas.php.Une fonction de traduction utilisée sans text-domain. Fonction _n, avec les arguments dans le fichier init.php.Plusieurs text-domain sont utilisés dans le thème. Cela signifie que le thème n'est pas compatible avec les language packs de WordPress. Les domaines trouvés sont vizer, mtms, YourThemeTextDomain, tgmpa, easyweb, links, mundothemes.
  6. Contextes de plugin : Fonctionnalités de pluginLe thème utilise la fonction register_post_type(). Cette fonction n'est pas prévue pour être utilisée dans le contexte d'un thème, mais plutôt dans un plugin.Le thème utilise la fonction add_shortcode(). L'utilisation des custom post-content shortcodes est du domaine des plugins.
  7. Widgets : WidgetsCe thème ne contient pas de zone de sidebar/widget. Cf Widgets API
  8. Fichiers indésirables : Fichier système de Windowsthumbs.db a été trouvé.
  9. Menu Admin : Détection des niveaux d'utilisateurs devenus obsolètes dans Wordpress 2.0. WordPress codexFichier form_pedidos.php : 1: <?php global $user_ID; if( $user_ID ) : if( current_user_can('level_0') ) : ?>
  10. Eléments fondamentaux : Présence de comment_form()comment_form introuvable.
  11. Eléments fondamentaux : Présence de wp_link_pages()wp_link_pages introuvable.
  12. Eléments fondamentaux : Présence de post_class()post_class introuvable.
  13. Pagination des commentaires : Déclaration de la pagination des commentairesLe thème ne prend pas en charge la pagination de commentaire. La fonction paginate_comments_links() permet d'ajouter une pagination de commentaire.
  14. Eléments custom : Présence d'une entête customAucune référence à custom header n'a été trouvée dans le thème.
  15. Eléments custom : Présence d'un fond customAucune référence à custom background n'a été trouvée dans le thème.
  16. Fonctions obsolètes : screen_iconscreen_icon trouvé dans le fichier class-tgm-plugin-activation.php . Obsolète depuis la version de la 3.8. 391: screen_icon( apply_filters( 'tgmpa_default_screen_icon', 'themes' ) );1585: screen_icon( apply_filters( 'tgmpa_default_screen_icon', 'themes' ) );
  17. Editor style : Présence de l'édition de styleAucune référence à add_editor_style() n'a été trouvée dans le thème. Il est recommandé que le thème implémente l'édition de style, de manière à faire correspondre le contenu de l'éditeur l'affichage dans le thème.
  18. Fichiers CSS : Présence de text domainLa déclaration Text Domain: manque dans le header du fichier style.css.
  19. Fichiers CSS : Présence de la classe .stickyLa classe CSS .sticky n'a pas été trouvée dans les styles du thème.
  20. Fichiers CSS : Présence de la classe .bypostauthorLa classe CSS .bypostauthor n'a pas été trouvée dans les styles du thème.
  21. Fichiers CSS : Présence de la classe .gallery-captionLa classe CSS .gallery-caption n'a pas été trouvée dans les styles du thème.
  22. Screenshot : Copie d'écranMauvaises dimensions du screenshot ! Format détecté : 880x868px (220:217). Le format doit être 4:3.La taille du screenshot est 880x868px. La taille recommandée est 1200x900, pour prendre en compte les affichages HiDPI. Bien qu'une résolution de 1200x900 soit recommandée, toutes les images au format 4:3 sont acceptables.Mauvaise extension de fichier screenshot ! Le fichier screenshot.png n'est pas un véritable fichier JPG. Le type détecté est : "image/png".
Info
  1. Liens statiques : Présence de liens codés en durLien potentiellement codés en dur trouvé dans le fichier pedidos.php.36: <span>Acesse o <a href='http://www.imdb.com' target='_BLANK'>IMDB</a> e procure o seu filme ou sérLien potentiellement codés en dur trouvé dans le fichier dbmovies.php.17: <h1><a href='https://dbmovies.org' target='_blank'><img src='<?php echo DT_DIR_URI; ?>/aLien potentiellement codés en dur trouvé dans le fichier edit_custom_walker.php.177: <a href='http://fontawesome.io/icons/' target='_blank'>class fa fa-icon</a>
  2. Fichiers optionnels : Présence du fichierde style pour les écritures de droite vers la gauche rtl.cssCe thème ne contient pas le fichier optionnel rtl.php.
  3. Fichiers optionnels : Présence du fichier-template fron-*page.phpCe thème ne contient pas le fichier optionnel front-page.php.
  4. Fichiers optionnels : Présence du fichier-template de page d'accueil home.phpCe thème ne contient pas le fichier optionnel home.php.
  5. Fichiers optionnels : Présence du fichier-template de page page.phpCe thème ne contient pas le fichier optionnel page.php.
  6. Fichiers optionnels : Présence du fichier template de taxinomie taxonomy.phpCe thème ne contient pas le fichier optionnel taxonomy.php.
  7. Fichiers optionnels : Présence du fichier-template author.phpCe thème ne contient pas le fichier optionnel author.php.
  8. Fichiers optionnels : Présence de du fichier-template des dates et heures date.phpCe thème ne contient pas le fichier optionnel date.php.
  9. Fichiers optionnels : Présence du fichier-template des pièces jointes attachment.phpCe thème ne contient pas le fichier optionnel attachment.php.
  10. Fichiers optionnels : Présence du fichier-template des images image.phpCe thème ne contient pas le fichier optionnel image.php.
  11. Utilisation d'includes : Utilisation de include ou de de requireLe thème semble utiliser include ou require : meta.php 33: require_once( DT_DIR . '/inc/custom/meta.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : player.php 4: require_once('../../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : links.php 4: require_once('../../../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : se.php 4: require_once('../../../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : init.php 933: include_once ( DT_DIR . '/inc/includes/static/links.php');998: require_once( ABSPATH . 'wp-admin/includes/image.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : comments.php 28: <?php include(locate_template('parts/comment.php')); ?> Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : comments-tv.php 28: <?php include(locate_template('parts/comment-tv.php')); ?> Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : links_a00.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : episodes.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : requests.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : serie.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : episodes_admin.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : links_a77.php 11: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : links_a63.php 6: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : seasons_admin.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : send_report.php 3: require ('../../../../../wp-blog-header.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : ajax-loop.php 4: require_once('../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : pipoca.php 4: require_once('../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : login.php 4: require_once('../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : notify.php 4: require_once('../../../../../wp-load.php'); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : class-tgm-plugin-activation.php 1073: require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
Other checked themes