1 2/* jQuery Nice Select - v1.0 3 https://github.com/hernansartorio/jquery-nice-select 4 Made by Hernán Sartorio */ 5!function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery); 6 7 8/* ------------------------------------------------------------------------ 9 Class: prettyPhoto 10 Use: Lightbox clone for jQuery 11 Author: Stephane Caron (http://www.no-margin-for-errors.com) 12 Version: 3.1.6 13------------------------------------------------------------------------- */ 14(function($) { 15 $.prettyPhoto = {version: '3.1.6'}; 16 17 $.fn.prettyPhoto = function(pp_settings) { 18 pp_settings = jQuery.extend({ 19 hook: 'rel', /* the attribute tag to use for prettyPhoto hooks. default: 'rel'. For HTML5, use "data-rel" or similar. */ 20 animation_speed: 'fast', /* fast/slow/normal */ 21 ajaxcallback: function() {}, 22 slideshow: 5000, /* false OR interval time in ms */ 23 autoplay_slideshow: false, /* true/false */ 24 opacity: 0.80, /* Value between 0 and 1 */ 25 show_title: true, /* true/false */ 26 allow_resize: true, /* Resize the photos bigger than viewport. true/false */ 27 allow_expand: true, /* Allow the user to expand a resized image. true/false */ 28 default_width: 500, 29 default_height: 344, 30 counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ 31 theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ 32 horizontal_padding: 20, /* The padding on each side of the picture */ 33 hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ 34 wmode: 'opaque', /* Set the flash wmode attribute */ 35 autoplay: true, /* Automatically start videos: True/False */ 36 modal: false, /* If set to true, only the close button will close the window */ 37 deeplinking: true, /* Allow prettyPhoto to update the url to enable deeplinking. */ 38 overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ 39 overlay_gallery_max: 30, /* Maximum number of pictures in the overlay gallery */ 40 keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ 41 changepicturecallback: function(){}, /* Called everytime an item is shown/changed */ 42 callback: function(){}, /* Called when prettyPhoto is closed */ 43 ie6_fallback: true, 44 markup: '<div class="pp_pic_holder"> \ 45 <div class="ppt"> </div> \ 46 <div class="pp_top"> \ 47 <div class="pp_left"></div> \ 48 <div class="pp_middle"></div> \ 49 <div class="pp_right"></div> \ 50 </div> \ 51 <div class="pp_content_container"> \ 52 <div class="pp_left"> \ 53 <div class="pp_right"> \ 54 <div class="pp_content"> \ 55 <div class="pp_loaderIcon"></div> \ 56 <div class="pp_fade"> \ 57 <a href="#" class="pp_expand" title="Expand the image">Expand</a> \ 58 <div class="pp_hoverContainer"> \ 59 <a class="pp_next" href="#">next</a> \ 60 <a class="pp_previous" href="#">previous</a> \ 61 </div> \ 62 <div id="pp_full_res"></div> \ 63 <div class="pp_details"> \ 64 <div class="pp_nav"> \ 65 <a href="#" class="pp_arrow_previous">Previous</a> \ 66 <p class="currentTextHolder">0/0</p> \ 67 <a href="#" class="pp_arrow_next">Next</a> \ 68 </div> \ 69 <p class="pp_description"></p> \ 70 <div class="pp_social">{pp_social}</div> \ 71 <a class="pp_close" href="#">Close</a> \ 72 </div> \ 73 </div> \ 74 </div> \ 75 </div> \ 76 </div> \ 77 </div> \ 78 <div class="pp_bottom"> \ 79 <div class="pp_left"></div> \ 80 <div class="pp_middle"></div> \ 81 <div class="pp_right"></div> \ 82 </div> \ 83 </div> \ 84 <div class="pp_overlay"></div>', 85 gallery_markup: '<div class="pp_gallery"> \ 86 <a href="#" class="pp_arrow_previous">Previous</a> \ 87 <div> \ 88 <ul> \ 89 {gallery} \ 90 </ul> \ 91 </div> \ 92 <a href="#" class="pp_arrow_next">Next</a> \ 93 </div>', 94 image_markup: '<img id="fullResImage" src="{path}" />', 95 flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>', 96 quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>', 97 iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>', 98 inline_markup: '<div class="pp_inline">{content}</div>', 99 custom_markup: '', 100 social_tools: '<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&layout=button_count&show_faces=true&width=500&action=like&font&colorscheme=light&height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>' /* html or false to disable */ 101 }, pp_settings); 102 103 // Global variables accessible only by prettyPhoto 104 var matchedObjects = this, percentBased = false, pp_dimensions, pp_open, 105 106 // prettyPhoto container specific 107 pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth, 108 109 // Window size 110 windowHeight = $(window).height(), windowWidth = $(window).width(), 111 112 // Global elements 113 pp_slideshow; 114 115 doresize = true, scroll_pos = _get_scroll(); 116 117 // Window/Keyboard events 118 $(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); }); 119 120 if(pp_settings.keyboard_shortcuts) { 121 $(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){ 122 if(typeof $pp_pic_holder != 'undefined'){ 123 if($pp_pic_holder.is(':visible')){ 124 switch(e.keyCode){ 125 case 37: 126 $.prettyPhoto.changePage('previous'); 127 e.preventDefault(); 128 break; 129 case 39: 130 $.prettyPhoto.changePage('next'); 131 e.preventDefault(); 132 break; 133 case 27: 134 if(!settings.modal) 135 $.prettyPhoto.close(); 136 e.preventDefault(); 137 break; 138 }; 139 // return false;
140 }; 141 }; 142 }); 143 }; 144 145 /** 146 * Initialize prettyPhoto. 147 */ 148 $.prettyPhoto.initialize = function() { 149 150 settings = pp_settings; 151 152 if(settings.theme == 'pp_default') settings.horizontal_padding = 16; 153 154 // Find out if the picture is part of a set 155 theRel = $(this).attr(settings.hook); 156 galleryRegExp = /\[(?:.*)\]/; 157 isSet = (galleryRegExp.exec(theRel)) ? true : false; 158 159 // Put the SRCs, TITLEs, ALTs into an array. 160 pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href')); 161 pp_titles = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt') : ""; }) : $.makeArray($(this).find('img').attr('alt')); 162 pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).attr('title')) ? $(n).attr('title') : ""; }) : $.makeArray($(this).attr('title')); 163 164 if(pp_images.length > settings.overlay_gallery_max) settings.overlay_gallery = false; 165 166 set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned 167 rel_index = (isSet) ? set_position : $("a["+settings.hook+"^='"+theRel+"']").index($(this)); 168 169 _build_overlay(this); // Build the overlay {this} being the caller 170 171 if(settings.allow_resize) 172 $(window).bind('scroll.prettyphoto',function(){ _center_overlay(); }); 173 174 175 $.prettyPhoto.open(); 176 177 return false; 178 } 179 180 181 /** 182 * Opens the prettyPhoto modal box. 183 * @param image {String,Array} Full path to the image to be open, can also be an array containing full images paths. 184 * @param title {String,Array} The title to be displayed with the picture, can also be an array containing all the titles. 185 * @param description {String,Array} The description to be displayed with the picture, can also be an array containing all the descriptions. 186 */ 187 $.prettyPhoto.open = function(event) { 188 if(typeof settings == "undefined"){ // Means it's an API call, need to manually get the settings and set the variables 189 settings = pp_settings; 190 pp_images = $.makeArray(arguments[0]); 191 pp_titles = (arguments[1]) ? $.makeArray(arguments[1]) : $.makeArray(""); 192 pp_descriptions = (arguments[2]) ? $.makeArray(arguments[2]) : $.makeArray(""); 193 isSet = (pp_images.length > 1) ? true : false; 194 set_position = (arguments[3])? arguments[3]: 0; 195 _build_overlay(event.target); // Build the overlay {this} being the caller 196 } 197 198 if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); // Hide the flash 199 200 _checkPosition($(pp_images).size()); // Hide the next/previous links if on first or last images. 201 202 $('.pp_loaderIcon').show(); 203 204 if(settings.deeplinking) 205 setHashtag(); 206 207 // Rebuild Facebook Like Button with updated href 208 if(settings.social_tools){ 209 facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); 210 $pp_pic_holder.find('.pp_social').html(facebook_like_link); 211 } 212 213 // Fade the content in 214 if($ppt.is(':hidden')) $ppt.css('opacity',0).show(); 215 $pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity); 216 217 // Display the current position 218 $pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).size()); 219 220 // Set the description 221 if(typeof pp_descriptions[set_position] != 'undefined' && pp_descriptions[set_position] != ""){ 222 $pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position])); 223 }else{ 224 $pp_pic_holder.find('.pp_description').hide(); 225 } 226 227 // Get the dimensions 228 movie_width = ( parseFloat(getParam('width',pp_images[set_position])) ) ? getParam('width',pp_images[set_position]) : settings.default_width.toString(); 229 movie_height = ( parseFloat(getParam('height',pp_images[set_position])) ) ? getParam('height',pp_images[set_position]) : settings.default_height.toString(); 230 231 // If the size is % based, calculate according to window dimensions 232 percentBased=false; 233 if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; } 234 if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; } 235 236 // Fade the holder 237 $pp_pic_holder.fadeIn(function(){ 238 // Set the title
239 (settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined") ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html(' '); 240 241 imgPreloader = ""; 242 skipInjection = false; 243 244 // Inject the proper content 245 switch(_getFileType(pp_images[set_position])){ 246 case 'image': 247 imgPreloader = new Image(); 248 249 // Preload the neighbour images 250 nextImage = new Image(); 251 if(isSet && set_position < $(pp_images).size() -1) nextImage.src = pp_images[set_position + 1]; 252 prevImage = new Image(); 253 if(isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1]; 254 255 $pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]); 256 257 imgPreloader.onload = function(){ 258 // Fit item to viewport 259 pp_dimensions = _fitToViewport(imgPreloader.width,imgPreloader.height); 260 261 _showContent(); 262 }; 263 264 imgPreloader.onerror = function(){ 265 alert('Image cannot be loaded. Make sure the path is correct and image exist.'); 266 $.prettyPhoto.close(); 267 }; 268 269 imgPreloader.src = pp_images[set_position]; 270 break; 271 272 case 'youtube': 273 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 274 275 // Regular youtube link 276 movie_id = getParam('v',pp_images[set_position]); 277 278 // youtu.be link 279 if(movie_id == ""){ 280 movie_id = pp_images[set_position].split('youtu.be/'); 281 movie_id = movie_id[1]; 282 if(movie_id.indexOf('?') > 0) 283 movie_id = movie_id.substr(0,movie_id.indexOf('?')); // Strip anything after the ? 284 285 if(movie_id.indexOf('&') > 0) 286 movie_id = movie_id.substr(0,movie_id.indexOf('&')); // Strip anything after the & 287 } 288 289 movie = 'http://www.youtube.com/embed/'+movie_id; 290 (getParam('rel',pp_images[set_position])) ? movie+="?rel="+getParam('rel',pp_images[set_position]) : movie+="?rel=1"; 291 292 if(settings.autoplay) movie += "&autoplay=1"; 293 294 toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie); 295 break; 296 297 case 'vimeo': 298 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 299 300 movie_id = pp_images[set_position]; 301 var regExp = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/; 302 var match = movie_id.match(regExp); 303 304 movie = 'http://player.vimeo.com/video/'+ match[3] +'?title=0&byline=0&portrait=0'; 305 if(settings.autoplay) movie += "&autoplay=1;"; 306 307 vimeo_width = pp_dimensions['width'] + '/embed/?moog_width='+ pp_dimensions['width']; 308 309 toInject = settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie); 310 break; 311 312 case 'quicktime': 313 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 314 pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; // Add space for the control bar 315 316 toInject = settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay); 317 break; 318 319 case 'flash': 320 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 321 322 flash_vars = pp_images[set_position]; 323 flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length); 324 325 filename = pp_images[set_position]; 326 filename = filename.substring(0,filename.indexOf('?')); 327 328 toInject = settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars); 329 break; 330 331 case 'iframe': 332 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 333 334 frame_url = pp_images[set_position]; 335 frame_url = frame_url.substr(0,frame_url.indexOf('iframe')-1); 336 337 toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url); 338 break; 339 340 case 'ajax': 341 doresize = false; // Make sure the dimensions are not resized. 342 pp_dimensions = _fitToViewport(movie_width,movie_height); 343 doresize = true; // Reset the dimensions 344 345 skipInjection = true; 346 $.get(pp_images[set_position],function(responseHTML){ 347 toInject = settings.inline_markup.replace(/{content}/g,responseHTML); 348 $pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; 349 _showContent(); 350 }); 351 352 break; 353 354 case 'custom': 355 pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport 356 357 toInject = settings.custom_markup; 358 break; 359 360 case 'inline': 361 // to get the item height clone it, apply default width, wrap it in the prettyPhoto containers , then delete 362 myClone = $(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show(); 363 doresize = false; // Make sure the dimensions are not resized. 364 pp_dimensions = _fitToViewport($(myClone).width(),$(myClone).height()); 365 doresize = true; // Reset the dimensions 366 $(myClone).remove(); 367 toInject = settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html()); 368 break; 369 }; 370 371 if(!imgPreloader && !skipInjection){ 372 $pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; 373 374 // Show content 375 _showContent(); 376 }; 377 }); 378 379 return false;
380 }; 381 382 383 /** 384 * Change page in the prettyPhoto modal box 385 * @param direction {String} Direction of the paging, previous or next. 386 */ 387 $.prettyPhoto.changePage = function(direction){ 388 currentGalleryPage = 0; 389 390 if(direction == 'previous') { 391 set_position--; 392 if (set_position < 0) set_position = $(pp_images).size()-1; 393 }else if(direction == 'next'){ 394 set_position++; 395 if(set_position > $(pp_images).size()-1) set_position = 0; 396 }else{ 397 set_position=direction; 398 }; 399 400 rel_index = set_position; 401 402 if(!doresize) doresize = true; // Allow the resizing of the images 403 if(settings.allow_expand) { 404 $('.pp_contract').removeClass('pp_contract').addClass('pp_expand'); 405 } 406 407 _hideContent(function(){ $.prettyPhoto.open(); }); 408 }; 409 410 411 /** 412 * Change gallery page in the prettyPhoto modal box 413 * @param direction {String} Direction of the paging, previous or next. 414 */ 415 $.prettyPhoto.changeGalleryPage = function(direction){ 416 if(direction=='next'){ 417 currentGalleryPage ++; 418 419 if(currentGalleryPage > totalPage) currentGalleryPage = 0; 420 }else if(direction=='previous'){ 421 currentGalleryPage --; 422 423 if(currentGalleryPage < 0) currentGalleryPage = totalPage; 424 }else{ 425 currentGalleryPage = direction; 426 }; 427 428 slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0; 429 430 slide_to = currentGalleryPage * (itemsPerPage * itemWidth); 431 432 $pp_gallery.find('ul').animate({left:-slide_to},slide_speed); 433 }; 434 435 436 /** 437 * Start the slideshow... 438 */ 439 $.prettyPhoto.startSlideshow = function(){ 440 if(typeof pp_slideshow == 'undefined'){ 441 $pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){ 442 $.prettyPhoto.stopSlideshow(); 443 return false; 444 }); 445 pp_slideshow = setInterval($.prettyPhoto.startSlideshow,settings.slideshow); 446 }else{ 447 $.prettyPhoto.changePage('next'); 448 }; 449 } 450 451 452 /** 453 * Stop the slideshow... 454 */ 455 $.prettyPhoto.stopSlideshow = function(){ 456 $pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){ 457 $.prettyPhoto.startSlideshow(); 458 return false; 459 }); 460 clearInterval(pp_slideshow); 461 pp_slideshow=undefined; 462 } 463 464 465 /** 466 * Closes prettyPhoto. 467 */ 468 $.prettyPhoto.close = function(){ 469 if($pp_overlay.is(":animated")) return; 470 471 $.prettyPhoto.stopSlideshow(); 472 473 $pp_pic_holder.stop().find('object,embed').css('visibility','hidden'); 474 475 $('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); }); 476 477 $pp_overlay.fadeOut(settings.animation_speed, function(){ 478 479 if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); // Show the flash 480 481 $(this).remove(); // No more need for the prettyPhoto markup 482 483 $(window).unbind('scroll.prettyphoto'); 484 485 clearHashtag(); 486 487 settings.callback(); 488 489 doresize = true; 490 491 pp_open = false; 492 493 delete settings; 494 }); 495 }; 496 497 /** 498 * Set the proper sizes on the containers and animate the content in. 499 */ 500 function _showContent(){ 501 $('.pp_loaderIcon').hide(); 502 503 // Calculate the opened top position of the pic holder 504 projectedTop = scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2)); 505 if(projectedTop < 0) projectedTop = 0; 506 507 $ppt.fadeTo(settings.animation_speed,1); 508 509 // Resize the content holder 510 $pp_pic_holder.find('.pp_content') 511 .animate({ 512 height:pp_dimensions['contentHeight'], 513 width:pp_dimensions['contentWidth'] 514 },settings.animation_speed); 515 516 // Resize picture the holder 517 $pp_pic_holder.animate({ 518 'top': projectedTop, 519 'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2), 520 width:pp_dimensions['containerWidth'] 521 },settings.animation_speed,function(){ 522 $pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']); 523 524 $pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); // Fade the new content 525 526 // Show the nav 527 if(isSet && _getFileType(pp_images[set_position])=="image") { $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); } 528 529 if(settings.allow_expand) { 530 if(pp_dimensions['resized']){ // Fade the resizing link if the image is resized 531 $('a.pp_expand,a.pp_contract').show(); 532 }else{ 533 $('a.pp_expand').hide(); 534 } 535 } 536 537 if(settings.autoplay_slideshow && !pp_slideshow && !pp_open) $.prettyPhoto.startSlideshow(); 538 539 settings.changepicturecallback(); // Callback! 540 541 pp_open = true; 542 }); 543 544 _insert_gallery(); 545 pp_settings.ajaxcallback(); 546 }; 547
548 /** 549 * Hide the content...DUH! 550 */ 551 function _hideContent(callback){ 552 // Fade out the current picture 553 $pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden'); 554 $pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){ 555 $('.pp_loaderIcon').show(); 556 557 callback(); 558 }); 559 }; 560 561 /** 562 * Check the item position in the gallery array, hide or show the navigation links 563 * @param setCount {integer} The total number of items in the set 564 */ 565 function _checkPosition(setCount){ 566 (setCount > 1) ? $('.pp_nav').show() : $('.pp_nav').hide(); // Hide the bottom nav if it's not a set. 567 }; 568 569 /** 570 * Resize the item dimensions if it's bigger than the viewport 571 * @param width {integer} Width of the item to be opened 572 * @param height {integer} Height of the item to be opened 573 * @return An array containin the "fitted" dimensions 574 */ 575 function _fitToViewport(width,height){ 576 resized = false; 577 578 _getDimensions(width,height); 579 580 // Define them in case there's no resize needed 581 imageWidth = width, imageHeight = height; 582 583 if( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) { 584 resized = true, fitting = false; 585 586 while (!fitting){ 587 if((pp_containerWidth > windowWidth)){ 588 imageWidth = (windowWidth - 200); 589 imageHeight = (height/width) * imageWidth; 590 }else if((pp_containerHeight > windowHeight)){ 591 imageHeight = (windowHeight - 200); 592 imageWidth = (width/height) * imageHeight; 593 }else{ 594 fitting = true; 595 }; 596 597 pp_containerHeight = imageHeight, pp_containerWidth = imageWidth; 598 }; 599 600 601 602 if((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)){ 603 _fitToViewport(pp_containerWidth,pp_containerHeight) 604 }; 605 606 _getDimensions(imageWidth,imageHeight); 607 }; 608 609 return { 610 width:Math.floor(imageWidth), 611 height:Math.floor(imageHeight), 612 containerHeight:Math.floor(pp_containerHeight), 613 containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2), 614 contentHeight:Math.floor(pp_contentHeight), 615 contentWidth:Math.floor(pp_contentWidth), 616 resized:resized 617 }; 618 }; 619 620 /** 621 * Get the containers dimensions according to the item size 622 * @param width {integer} Width of the item to be opened 623 * @param height {integer} Height of the item to be opened 624 */ 625 function _getDimensions(width,height){ 626 width = parseFloat(width); 627 height = parseFloat(height); 628 629 // Get the details height, to do so, I need to clone it since it's invisible 630 $pp_details = $pp_pic_holder.find('.pp_details'); 631 $pp_details.width(width); 632 detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom')); 633 634 $pp_details = $pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({ 635 'position':'absolute', 636 'top':-10000 637 }); 638 detailsHeight += $pp_details.height(); 639 detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; // Min-height for the details 640 $pp_details.remove(); 641 642 // Get the titles height, to do so, I need to clone it since it's invisible 643 $pp_title = $pp_pic_holder.find('.ppt'); 644 $pp_title.width(width); 645 titleHeight = parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom')); 646 $pp_title = $pp_title.clone().appendTo($('body')).css({ 647 'position':'absolute', 648 'top':-10000 649 }); 650 titleHeight += $pp_title.height(); 651 $pp_title.remove(); 652 653 // Get the container size, to resize the holder to the right dimensions 654 pp_contentHeight = height + detailsHeight; 655 pp_contentWidth = width; 656 pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height(); 657 pp_containerWidth = width; 658 } 659 660 function _getFileType(itemSrc){ 661 if (itemSrc.match(/youtube\.com\/watch/i) || itemSrc.match(/youtu\.be/i)) { 662 return 'youtube'; 663 }else if (itemSrc.match(/vimeo\.com/i)) { 664 return 'vimeo'; 665 }else if(itemSrc.match(/\b.mov\b/i)){ 666 return 'quicktime'; 667 }else if(itemSrc.match(/\b.swf\b/i)){ 668 return 'flash'; 669 }else if(itemSrc.match(/\biframe=true\b/i)){ 670 return 'iframe'; 671 }else if(itemSrc.match(/\bajax=true\b/i)){ 672 return 'ajax'; 673 }else if(itemSrc.match(/\bcustom=true\b/i)){ 674 return 'custom'; 675 }else if(itemSrc.substr(0,1) == '#'){ 676 return 'inline'; 677 }else{ 678 return 'image'; 679 }; 680 }; 681 682 function _center_overlay(){ 683 if(doresize && typeof $pp_pic_holder != 'undefined') { 684 scroll_pos = _get_scroll(); 685 contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width(); 686 687 projectedTop = (windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2); 688 if(projectedTop < 0) projectedTop = 0; 689 690 if(contentHeight > windowHeight) 691 return; 692 693 $pp_pic_holder.css({ 694 'top': projectedTop, 695 'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2) 696 }); 697 }; 698 }; 699 700 function _get_scroll(){ 701 if (self.pageYOffset) { 702 return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}; 703 } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict 704 return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}; 705 } else if (document.body) {// all other Explorers 706 return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}; 707 }; 708 }; 709 710 function _resize_overlay() { 711 windowHeight = $(window).height(), windowWidth = $(window).width(); 712 713 if(typeof $pp_overlay != "undefined") $pp_overlay.height($(document).height()).width(windowWidth); 714 }; 715 716 function _insert_gallery(){ 717 if(isSet && settings.overlay_gallery && _getFileType(pp_images[set_position])=="image") { 718 itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin. 719 navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30; // Define the arrow width depending on the theme 720 721 itemsPerPage = Math.floor((pp_dimensions['containerWidth'] - 100 - navWidth) / itemWidth); 722 itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length;
723 totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1; 724 725 // Hide the nav in the case there's no need for links 726 if(totalPage == 0){ 727 navWidth = 0; // No nav means no width! 728 $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide(); 729 }else{ 730 $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show(); 731 }; 732 733 galleryWidth = itemsPerPage * itemWidth; 734 fullGalleryWidth = pp_images.length * itemWidth; 735 736 // Set the proper width to the gallery items 737 $pp_gallery 738 .css('margin-left',-((galleryWidth/2) + (navWidth/2))) 739 .find('div:first').width(galleryWidth+5) 740 .find('ul').width(fullGalleryWidth) 741 .find('li.selected').removeClass('selected'); 742 743 goToPage = (Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage) : totalPage; 744 745 $.prettyPhoto.changeGalleryPage(goToPage); 746 747 $pp_gallery_li.filter(':eq('+set_position+')').addClass('selected'); 748 }else{ 749 $pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave'); 750 // $pp_gallery.hide(); 751 } 752 } 753 754 function _build_overlay(caller){ 755 // Inject Social Tool markup into General markup 756 if(settings.social_tools) 757 facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); 758 759 settings.markup = settings.markup.replace('{pp_social}',''); 760 761 $('body').append(settings.markup); // Inject the markup 762 763 $pp_pic_holder = $('.pp_pic_holder') , $ppt = $('.ppt'), $pp_overlay
763= $('div.pp_overlay'); // Set my global selectors 764 765 // Inject the inline gallery! 766 if(isSet && settings.overlay_gallery) { 767 currentGalleryPage = 0; 768 toInject = ""; 769 for (var i=0; i < pp_images.length; i++) { 770 if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){ 771 classname = 'default'; 772 img_src = ''; 773 }else{ 774 classname = ''; 775 img_src = pp_images[i]; 776 } 777 toInject += "<li class='"+classname+"'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>"; 778 }; 779 780 toInject = settings.gallery_markup.replace(/{gallery}/g,toInject); 781 782 $pp_pic_holder.find('#pp_full_res').after(toInject); 783 784 $pp_gallery = $('.pp_pic_holder .pp_gallery'), $pp_gallery_li = $pp_gallery.find('li'); // Set the gallery selectors 785 786 $pp_gallery.find('.pp_arrow_next').click(function(){ 787 $.prettyPhoto.changeGalleryPage('next'); 788 $.prettyPhoto.stopSlideshow(); 789 return false; 790 }); 791 792 $pp_gallery.find('.pp_arrow_previous').click(function(){ 793 $.prettyPhoto.changeGalleryPage('previous'); 794 $.prettyPhoto.stopSlideshow(); 795 return false; 796 }); 797 798 $pp_pic_holder.find('.pp_content').hover( 799 function(){ 800 $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn(); 801 }, 802 function(){ 803 $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut(); 804 }); 805 806 itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin. 807 $pp_gallery_li.each(function(i){ 808 $(this) 809 .find('a') 810 .click(function(){ 811 $.prettyPhoto.changePage(i); 812 $.prettyPhoto.stopSlideshow(); 813 return false; 814 }); 815 }); 816 }; 817 818 819 // Inject the play/pause if it's a slideshow 820 if(settings.slideshow){ 821 $pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>') 822 $pp_pic_holder.find('.pp_nav .pp_play').click(function(){ 823 $.prettyPhoto.startSlideshow(); 824 return false; 825 }); 826 } 827 828 $pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); // Set the proper theme 829 830 $pp_overlay 831 .css({ 832 'opacity':0, 833 'height':$(document).height(), 834 'width':$(window).width() 835 }) 836 .bind('click',function(){ 837 if(!settings.modal) $.prettyPhoto.close(); 838 }); 839 840 $('a.pp_close').bind('click',function(){ $.prettyPhoto.close(); return false; }); 841 842 843 if(settings.allow_expand) { 844 $('a.pp_expand').bind('click',function(e){ 845 // Expand the image 846 if($(this).hasClass('pp_expand')){ 847 $(this).removeClass('pp_expand').addClass('pp_contract'); 848 doresize = false; 849 }else{ 850 $(this).removeClass('pp_contract').addClass('pp_expand'); 851 doresize = true; 852 }; 853 854 _hideContent(function(){ $.prettyPhoto.open(); }); 855 856 return false; 857 }); 858 } 859 860 $pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){ 861 $.prettyPhoto.changePage('previous'); 862 $.prettyPhoto.stopSlideshow(); 863 return false; 864 }); 865 866 $pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){ 867 $.prettyPhoto.changePage('next'); 868 $.prettyPhoto.stopSlideshow(); 869 return false; 870 }); 871 872 _center_overlay(); // Center it 873 }; 874 875 if(!pp_alreadyInitialized && getHashtag()){ 876 pp_alreadyInitialized = true; 877 878 // Grab the rel index to trigger the click on the correct element 879 hashIndex = getHashtag(); 880 hashRel = hashIndex; 881 hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1); 882 hashRel = hashRel.substring(0,hashRel.indexOf('/')); 883 884 // Little timeout to make sure all the prettyPhoto initialize scripts has been run. 885 // Useful in the event the page contain several init scripts. 886 setTimeout(function(){ $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50); 887 } 888 889 return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize); // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once 890 }; 891 892 function getHashtag(){ 893 var url = location.href; 894 hashtag = (url.indexOf('#prettyPhoto') !== -1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)) : false;
895 if(hashtag){ hashtag = hashtag.replace(/<|>/g,''); } 896 return hashtag; 897 }; 898 899 function setHashtag(){ 900 if(typeof theRel == 'undefined') return; // theRel is set on normal calls, it's impossible to deeplink using the API 901 location.hash = theRel + '/'+rel_index+'/'; 902 }; 903 904 function clearHashtag(){ 905 if ( location.href.indexOf('#prettyPhoto') !== -1 ) location.hash = "prettyPhoto"; 906 } 907 908 function getParam(name,url){ 909 name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 910 var regexS = "[\\?&]"+name+"=([^&#]*)"; 911 var regex = new RegExp( regexS ); 912 var results = regex.exec( url ); 913 return ( results == null ) ? "" : results[1]; 914 } 915 916})(jQuery); 917 918var pp_alreadyInitialized = false; // Used for the deep linking to make sure not to call the same function several times. 919 920 921 922/*! 923 * SlickNav Responsive Mobile Menu v1.0.10 924 * (c) 2016 Josh Cope 925 * licensed under MIT 926 */ 927!function(e,t,n){function a(t,n){this.element=t,this.settings=e.extend({},i,n),this.settings.duplicate||n.hasOwnProperty("removeIds")||(this.settings.removeIds=!1),this._defaults=i,this._name=s,this.init()}var i={label:"MENU",duplicate:!0,duration:200,easingOpen:"swing",easingClose:"swing",closedSymbol:"►",openedSymbol:"▼",prependTo:"body",appendTo:"",parentTag:"a",closeOnClick:!1,allowParentLinks:!1,nestedParentLinks:!0,showChildren:!1,removeIds:!0,removeClasses:!1,removeStyles:!1,brand:"",animations:"jquery",init:function(){},beforeOpen:function(){},beforeClose:function(){},afterOpen:function(){},afterClose:function(){}},s="slicknav",o="slicknav",l={DOWN:40,ENTER:13,ESCAPE:27,LEFT:37,RIGHT:39,SPACE:32,TAB:9,UP:38};a.prototype.init=function(){var n,a,i=this,s=e(this.element),r=this.settings;if(r.duplicate?i.mobileNav=s.clone():i.mobileNav=s,r.removeIds&&(i.mobileNav.removeAttr("id"),i.mobileNav.find("*").each(function(t,n){e(n).removeAttr("id")})),r.removeClasses&&(i.mobileNav.removeAttr("class"),i.mobileNav.find("*").each(function(t,n){e(n).removeAttr("class")})),r.removeStyles&&(i.mobileNav.removeAttr("style"),i.mobileNav.find("*").each(function(t,n){e(n).removeAttr("style")})),n=o+"_icon",""===r.label&&(n+=" "+o+"_no-text"),"a"==r.parentTag&&(r.parentTag='a href="#"'),i.mobileNav.attr("class",o+"_nav"),a=e('<div class="'+o+'_menu"></div>'),""!==r.brand){var c=e('<div class="'+o+'_brand">'+r.brand+"</div>");e(a).append(c)}i.btn=e(["<"+r.parentTag+' aria-haspopup="true" role="button" title="menu" tabindex="0" class="'+o+"_btn "+o+'_collapsed">','<span class="'+o+'_menutxt">'+r.label+"</span>",'<span class="'+n+'">','<span class="'+o+'_icon-bar"></span>','<span class="'+o+'_icon-bar"></span>','<span class="'+o+'_icon-bar"></span>',"</span>","</"+r.parentTag+">"].join("")),e(a).append(i.btn),""!==r.appendTo?e(r.appendTo).append(a):e(r.prependTo).prepend(a),a.append(i.mobileNav);var p=i.mobileNav.find("li");e(p).each(function(){var t=e(this),n={};if(n.children=t.children("ul").attr("role","menu"),t.data("menu",n),n.children.length>0){var a=t.contents(),s=!1,l=[];e(a).each(function(){return e(this).is("ul")?!1:(l.push(this),void(e(this).is("a")&&(s=!0)))});var c=e("<"+r.parentTag+' role="menuitem" aria-haspopup="true" tabindex="-1" class="'+o+'_item"/>');if(r.allowParentLinks&&!r.nestedParentLinks&&s)e(l).wrapAll('<span class="'+o+"_parent-link "+o+'_row"/>').parent();else{var p=e(l).wrapAll(c).parent();p.addClass(o+"_row")}r.showChildren?t.addClass(o+"_open"):t.addClass(o+"_collapsed"),t.addClass(o+"_parent");var d=e('<span class="'+o+'_arrow">'+(r.showChildren?r.openedSymbol:r.closedSymbol)+"</span>");r.allowParentLinks&&!r.nestedParentLinks&&s&&(d=d.wrap(c).parent()),e(l).last().after(d)}else 0===t.children().length&&t.addClass(o+"_txtnode");t.children("a").attr("role","menuitem").click(function(t){r.closeOnClick&&!e(t.target).parent().closest("li").hasClass(o+"_parent")&&e(i.btn).click()}),r.closeOnClick&&r.allowParentLinks&&(t.children("a").children("a").click(function(t){e(i.btn).click()}),t.find("."+o+"_parent-link a:not(."+o+"_item)").click(function(t){e(i.btn).click()}))}),e(p).each(function(){var t=e(this).data("menu");r.showChildren||i._visibilityToggle(t.children,null,!1,null,!0)}),i._visibilityToggle(i.mobileNav,null,!1,"init",!0),i.mobileNav.attr("role","menu"),e(t).mousedown(function(){i._outlines(!1)}),e(t).keyup(function(){i._outlines(!0)}),e(i.btn).click(function(e){e.preventDefault(),i._menuToggle()}),i.mobileNav.on("click","."+o+"_item",function(t){t.preventDefault(),i._itemClick(e(this))}),e(i.btn).keydown(function(t){var n=t||event;switch(n.keyCode){case l.ENTER:case l.SPACE:case l.DOWN:t.preventDefault(),n.keyCode===l.DOWN&&e(i.btn).hasClass(o+"_open")||i._menuToggle(),e(i.btn).next().find('[role="menuitem"]').first().focus()}}
927),i.mobileNav.on("keydown","."+o+"_item",function(t){var n=t||event;switch(n.keyCode){case l.ENTER:t.preventDefault(),i._itemClick(e(t.target));break;case l.RIGHT:t.preventDefault(),e(t.target).parent().hasClass(o+"_collapsed")&&i._itemClick(e(t.target)),e(t.target).next().find('[role="menuitem"]').first().focus()}}),i.mobileNav.on("keydown",'[role="menuitem"]',function(t){var n=t||event;switch(n.keyCode){case l.DOWN:t.preventDefault();var a=e(t.target).parent().parent().children().children('[role="menuitem"]:visible'),s=a.index(t.target),r=s+1;a.length<=r&&(r=0);var c=a.eq(r);c.focus();break;case l.UP:t.preventDefault();var a=e(t.target).parent().parent().children().children('[role="menuitem"]:visible'),s=a.index(t.target),c=a.eq(s-1);c.focus();break;case l.LEFT:if(t.preventDefault(),e(t.target).parent().parent().parent().hasClass(o+"_open")){var p=e(t.target).parent().parent().prev();p.focus(),i._itemClick(p)}else e(t.target).parent().parent().hasClass(o+"_nav")&&(i._menuToggle(),e(i.btn).focus());break;case l.ESCAPE:t.preventDefault(),i._menuToggle(),e(i.btn).focus()}}),r.allowParentLinks&&r.nestedParentLinks&&e("."+o+"_item a").click(function(e){e.stopImmediatePropagation()})},a.prototype._menuToggle=function(e){var t=this,n=t.btn,a=t.mobileNav;n.hasClass(o+"_collapsed")?(n.removeClass(o+"_collapsed"),n.addClass(o+"_open")):(n.removeClass(o+"_open"),n.addClass(o+"_collapsed")),n.addClass(o+"_animating"),t._visibilityToggle(a,n.parent(),!0,n)},a.prototype._itemClick=function(e){var t=this,n=t.settings,a=e.data("menu");a||(a={},a.arrow=e.children("."+o+"_arrow"),a.ul=e.next("ul"),a.parent=e.parent(),a.parent.hasClass(o+"_parent-link")&&(a.parent=e.parent().parent(),a.ul=e.parent().next("ul")),e.data("menu",a)),a.parent.hasClass(o+"_collapsed")?(a.arrow.html(n.openedSymbol),a.parent.removeClass(o+"_collapsed"),a.parent.addClass(o+"_open"),a.parent.addClass(o+"_animating"),t._visibilityToggle(a.ul,a.parent,!0,e)):(a.arrow.html(n.closedSymbol),a.parent.addClass(o+"_collapsed"),a.parent.removeClass(o+"_open"),a.parent.addClass(o+"_animating"),t._visibilityToggle(a.ul,a.parent,!0,e))},a.prototype._visibilityToggle=function(t,n,a,i,s){function l(t,n){e(t).removeClass(o+"_animating"),e(n).removeClass(o+"_animating"),s||p.afterOpen(t)}function r(n,a){t.attr("aria-hidden","true"),d.attr("tabindex","-1"),c._setVisAttr(t,!0),t.hide(),e(n).removeClass(o+"_animating"),e(a).removeClass(o+"_animating"),s?"init"==n&&p.init():p.afterClose(n)}var c=this,p=c.settings,d=c._getActionItems(t),u=0;a&&(u=p.duration),t.hasClass(o+"_hidden")?(t.removeClass(o+"_hidden"),s||p.beforeOpen(i),"jquery"===p.animations?t.stop(!0,!0).slideDown(u,p.easingOpen,function(){l(i,n)}):"velocity"===p.animations&&t.velocity("finish").velocity("slideDown",{duration:u,easing:p.easingOpen,complete:function(){l(i,n)}}),t.attr("aria-hidden","false"),d.attr("tabindex","0"),c._setVisAttr(t,!1)):(t.addClass(o+"_hidden"),s||p.beforeClose(i),"jquery"===p.animations?t.stop(!0,!0).slideUp(u,this.settings.easingClose,function(){r(i,n)}):"velocity"===p.animations&&t.velocity("finish").velocity("slideUp",{duration:u,easing:p.easingClose,complete:function(){r(i,n)}}))},a.prototype._setVisAttr=function(t,n){var a=this,i=t.children("li").children("ul").not("."+o+"_hidden");n?i.each(function(){var t=e(this);t.attr("aria-hidden","true");var i=a._getActionItems(t);i.attr("tabindex","-1"),a._setVisAttr(t,n)}):i.each(function(){var t=e(this);t.attr("aria-hidden","false");var i=a._getActionItems(t);i.attr("tabindex","0"),a._setVisAttr(t,n)})},a.prototype._getActionItems=function(e){var t=e.data("menu");if(!t){t={};var n=e.children("li"),a=n.find("a");t.links=a.add(n.find("."+o+"_item")),e.data("menu",t)}return t.links},a.prototype._outlines=function(t){t?e("."+o+"_item, ."+o+"_btn").css("outline",""):e("."+o+"_item, ."+o+"_btn").css("outline","none")},a.prototype.toggle=function(){var e=this;e._menuToggle()},a.prototype.open=function(){var e=this;e.btn.hasClass(o+"_collapsed")&&e._menuToggle()},a.prototype.close=function(){var e=this;e.btn.hasClass(o+"_open")&&e._menuToggle()},e.fn[s]=function(t){var n=arguments;if(void 0===t||"object"==typeof t)return this.each(function(){e.data(this,"plugin_"+s)||e.data(this,"plugin_"+s,new a(this,t))});if("string"==typeof t&&"_"!==t[0]&&"init"!==t){var i;return this.each(function(){var o=e.data(this,"plugin_"+s);o instanceof a&&"function"==typeof o[t]&&(i=o[t].apply(o,Array.prototype.slice.call(n,1)))}),void 0!==i?i:this}}}(jQuery,document,window); 928 929 930 931 932// Sticky Plugin v1.0.4 for jQuery 933// ============= 934// Author: Anthony Garand 935// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk) 936// Improvements by Leonardo C. Daronco (daronco) 937// Created: 02/14/2011 938// Date: 07/20/2015 939// Website: http://stickyjs.com/ 940// Description: Makes an element on the page stick on the screen as you scroll 941// It will only set the 'top' and 'position' of your element, you 942// might need to adjust the width in some cases. 943 944(function (factory) { 945 if (typeof define === 'function' && define.amd) { 946 // AMD. Register as an anonymous module. 947 define(['jquery'], factory); 948 } else if (typeof module === 'object' && module.exports) { 949 // Node/CommonJS 950 module.exports = factory(require('jquery')); 951 } else { 952 // Browser globals 953 factory(jQuery); 954 } 955}(function ($) { 956 var slice = Array.prototype.slice; // save ref to original slice() 957 var splice = Array.prototype.splice; // save ref to original slice() 958 959 var defaults = { 960 topSpacing: 0, 961 bottomSpacing: 0, 962 className: 'is-sticky', 963 wrapperClassName: 'sticky-wrapper', 964 center: false, 965 getWidthFrom: '', 966 widthFromWrapper: true, // works only when .getWidthFrom is empty 967 responsiveWidth: false, 968 zIndex: 'inherit' 969 }, 970 $window = $(window), 971 $document = $(document), 972 sticked = [], 973 windowHeight = $window.height(), 974 scroller = function() { 975 var scrollTop = $window.scrollTop(), 976 documentHeight = $document.height(), 977 dwh = documentHeight - windowHeight, 978 extra = (scrollTop > dwh) ? dwh - scrollTop : 0; 979 980 for (var i = 0, l = sticked.length; i < l; i++) { 981 var s = sticked[i], 982 elementTop = s.stickyWrapper.offset().top, 983 etse = elementTop - s.topSpacing - extra; 984 985 //update height in case of dynamic content 986 s.stickyWrapper.css('height', s.stickyElement.outerHeight()); 987 988 if (scrollTop <= etse) { 989 if (s.currentTop !== null) { 990 s.stickyElement 991 .css({ 992 'width': '', 993 'position': '', 994 'top': '', 995 'z-index': '' 996 }); 997 s.stickyElement.parent().removeClass(s.className); 998 s.stickyElement.trigger('sticky-end', [s]); 999 s.currentTop = null; 1000 } 1001 } 1002 else { 1003 var newTop = documentHeight - s.stickyElement.outerHeight() 1004 - s.topSpacing - s.bottomSpacing - scrollTop - extra; 1005 if (newTop < 0) { 1006 newTop = newTop + s.topSpacing; 1007 } else { 1008 newTop = s.topSpacing; 1009 } 1010 if (s.currentTop !== newTop) { 1011 var newWidth; 1012 if (s.getWidthFrom) { 1013 padding = s.stickyElement.innerWidth() - s.stickyElement.width(); 1014 newWidth = $(s.getWidthFrom).width() - padding || null; 1015 } else if (s.widthFromWrapper) { 1016 newWidth = s.stickyWrapper.width(); 1017 } 1018 if (newWidth == null) { 1019 newWidth = s.stickyElement.width(); 1020 } 1021 s.stickyElement 1022 .css('width', newWidth) 1023 .css('position', 'fixed') 1024 .css('top', newTop) 1025 .css('z-index', s.zIndex); 1026 1027 s.stickyElement.parent().addClass(s.className); 1028 1029 if (s.currentTop === null) { 1030 s.stickyElement.trigger('sticky-start', [s]); 1031 } else { 1032 // sticky is started but it have to be repositioned 1033 s.stickyElement.trigger('sticky-update', [s]); 1034 } 1035 1036 if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) { 1037 // just reached bottom || just started to stick but bottom is already reached 1038 s.stickyElement.trigger('sticky-bottom-reached', [s]); 1039 } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) { 1040 // sticky is started && sticked at topSpacing && overflowing from top just finished 1041 s.stickyElement.trigger('sticky-bottom-unreached', [s]); 1042 } 1043 1044 s.currentTop = newTop; 1045 } 1046 1047 // Check if sticky has reached end of container and stop sticking 1048 var stickyWrapperContainer = s.stickyWrapper.parent(); 1049 var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing); 1050 1051 if( unstick ) { 1052 s.stickyElement 1053 .css('position', 'absolute') 1054 .css('top', '') 1055 .css('bottom', 0) 1056 .css('z-index', ''); 1057 } else { 1058 s.stickyElement 1059 .css('position', 'fixed') 1060 .css('top', newTop) 1061 .css('bottom', '') 1062 .css('z-index', s.zIndex); 1063 } 1064 } 1065 } 1066 }, 1067 resizer = function() { 1068 windowHeight = $window.height(); 1069 1070 for (var i = 0, l = sticked.length; i < l; i++) { 1071 var s = sticked[i]; 1072 var newWidth = null; 1073 if (s.getWidthFrom) { 1074 if (s.responsiveWidth) { 1075 newWidth = $(s.getWidthFrom).width(); 1076 } 1077 } else if(s.widthFromWrapper) { 1078 newWidth = s.stickyWrapper.width(); 1079 } 1080 if (newWidth != null) { 1081 s.stickyElement.css('width', newWidth); 1082 } 1083 } 1084 }, 1085 methods = { 1086 init: function(options) { 1087 return this.each(function() { 1088 var o = $.extend({}, defaults, options); 1089 var stickyElement = $(this); 1090 1091 var stickyId = stickyElement.attr('id'); 1092 var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName;
1093 var wrapper = $('<div></div>') 1094 .attr('id', wrapperId) 1095 .addClass(o.wrapperClassName); 1096 1097 stickyElement.wrapAll(function() { 1098 if ($(this).parent("#" + wrapperId).length == 0) { 1099 return wrapper; 1100 } 1101}); 1102 1103 var stickyWrapper = stickyElement.parent(); 1104 1105 if (o.center) { 1106 stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); 1107 } 1108 1109 if (stickyElement.css("float") === "right") { 1110 stickyElement.css({"float":"none"}).parent().css({"float":"right"}); 1111 } 1112 1113 o.stickyElement = stickyElement; 1114 o.stickyWrapper = stickyWrapper; 1115 o.currentTop = null; 1116 1117 sticked.push(o); 1118 1119 methods.setWrapperHeight(this); 1120 methods.setupChangeListeners(this); 1121 }); 1122 }, 1123 1124 setWrapperHeight: function(stickyElement) { 1125 var element = $(stickyElement); 1126 var stickyWrapper = element.parent(); 1127 if (stickyWrapper) { 1128 stickyWrapper.css('height', element.outerHeight()); 1129 } 1130 }, 1131 1132 setupChangeListeners: function(stickyElement) { 1133 if (window.MutationObserver) { 1134 var mutationObserver = new window.MutationObserver(function(mutations) { 1135 if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) { 1136 methods.setWrapperHeight(stickyElement); 1137 } 1138 }); 1139 mutationObserver.observe(stickyElement, {subtree: true, childList: true}); 1140 } else { 1141 if (window.addEventListener) { 1142 stickyElement.addEventListener('DOMNodeInserted', function() { 1143 methods.setWrapperHeight(stickyElement); 1144 }, false); 1145 stickyElement.addEventListener('DOMNodeRemoved', function() { 1146 methods.setWrapperHeight(stickyElement); 1147 }, false); 1148 } else if (window.attachEvent) { 1149 stickyElement.attachEvent('onDOMNodeInserted', function() { 1150 methods.setWrapperHeight(stickyElement); 1151 }); 1152 stickyElement.attachEvent('onDOMNodeRemoved', function() { 1153 methods.setWrapperHeight(stickyElement); 1154 }); 1155 } 1156 } 1157 }, 1158 update: scroller, 1159 unstick: function(options) { 1160 return this.each(function() { 1161 var that = this; 1162 var unstickyElement = $(that); 1163 1164 var removeIdx = -1; 1165 var i = sticked.length; 1166 while (i-- > 0) { 1167 if (sticked[i].stickyElement.get(0) === that) { 1168 splice.call(sticked,i,1); 1169 removeIdx = i; 1170 } 1171 } 1172 if(removeIdx !== -1) { 1173 unstickyElement.unwrap(); 1174 unstickyElement 1175 .css({ 1176 'width': '', 1177 'position': '', 1178 'top': '', 1179 'float': '', 1180 'z-index': '' 1181 }) 1182 ; 1183 } 1184 }); 1185 } 1186 }; 1187 1188 // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer): 1189 if (window.addEventListener) { 1190 window.addEventListener('scroll', scroller, false); 1191 window.addEventListener('resize', resizer, false); 1192 } else if (window.attachEvent) { 1193 window.attachEvent('onscroll', scroller); 1194 window.attachEvent('onresize', resizer); 1195 } 1196 1197 $.fn.sticky = function(method) { 1198 if (methods[method]) { 1199 return methods[method].apply(this, slice.call(arguments, 1)); 1200 } else if (typeof method === 'object' || !method ) { 1201 return methods.init.apply( this, arguments ); 1202 } else { 1203 $.error('Method ' + method + ' does not exist on jQuery.sticky'); 1204 } 1205 }; 1206 1207 $.fn.unstick = function(method) { 1208 if (methods[method]) { 1209 return methods[method].apply(this, slice.call(arguments, 1)); 1210 } else if (typeof method === 'object' || !method ) { 1211 return methods.unstick.apply( this, arguments ); 1212 } else { 1213 $.error('Method ' + method + ' does not exist on jQuery.sticky'); 1214 } 1215 }; 1216 $(function() { 1217 setTimeout(scroller, 0); 1218 }); 1219})); 1220 1221 1222/*!
vendor: 10,521 bytes, lines 1223-1236
1223Waypoints - 4.0.1 1224Copyright © 2011-2016 Caleb Troughton 1225Licensed under the MIT license. 1226https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 1227*/ 1228!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,n.windowContext||(n.windowContext=!0,n.windowContext=new e(window)),this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=Math.floor(y+l-f),h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.$element=e(t)}var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 1229 1230 1231 1232 1233 1234 1235 1236!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
vendor: 6,594 bytes, line 1236
1236sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 1236
1236ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
1236slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
1236parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
1236,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 1236
1236,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
1236!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
1236):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
1236o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
1236,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}}); 1237 1238 1239 1240 1241 1242
vendor: 23,216 bytes, lines 1243-2189
1243/** 1244 * Owl Carousel v2.3.4 1245 * Copyright 2013-2018 David Deutsch 1246 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE 1247 */ 1248/** 1249 * Owl carousel 1250 * @version 2.3.4 1251 * @author Bartosz Wojciechowski 1252 * @author David Deutsch 1253 * @license The MIT License (MIT) 1254 * @todo Lazy Load Icon 1255 * @todo prevent animationend bubling 1256 * @todo itemsScaleUp 1257 * @todo Test Zepto 1258 * @todo stagePadding calculate wrong active classes 1259 */ 1260;(function($, window, document, undefined) { 1261 1262 /** 1263 * Creates a carousel. 1264 * @class The Owl Carousel. 1265 * @public 1266 * @param {HTMLElement|jQuery} element - The element to create the carousel for. 1267 * @param {Object} [options] - The options 1268 */ 1269 function Owl(element, options) { 1270 1271 /** 1272 * Current settings for the carousel. 1273 * @public 1274 */ 1275 this.settings = null; 1276 1277 /** 1278 * Current options set by the caller including defaults. 1279 * @public 1280 */ 1281 this.options = $.extend({}, Owl.Defaults, options); 1282 1283 /** 1284 * Plugin element. 1285 * @public 1286 */ 1287 this.$element = $(element); 1288 1289 /** 1290 * Proxied event handlers. 1291 * @protected 1292 */ 1293 this._handlers = {}; 1294 1295 /** 1296 * References to the running plugins of this carousel. 1297 * @protected 1298 */ 1299 this._plugins = {}; 1300 1301 /** 1302 * Currently suppressed events to prevent them from being retriggered. 1303 * @protected 1304 */ 1305 this._supress = {}; 1306 1307 /** 1308 * Absolute current position. 1309 * @protected 1310 */ 1311 this._current = null; 1312 1313 /** 1314 * Animation speed in milliseconds. 1315 * @protected 1316 */ 1317 this._speed = null; 1318 1319 /** 1320 * Coordinates of all items in pixel. 1321 * @todo The name of this member is missleading. 1322 * @protected 1323 */ 1324 this._coordinates = []; 1325 1326 /** 1327 * Current breakpoint. 1328 * @todo Real media queries would be nice. 1329 * @protected 1330 */ 1331 this._breakpoint = null; 1332 1333 /** 1334 * Current width of the plugin element. 1335 */ 1336 this._width = null; 1337 1338 /** 1339 * All real items. 1340 * @protected 1341 */ 1342 this._items = []; 1343 1344 /** 1345 * All cloned items. 1346 * @protected 1347 */ 1348 this._clones = []; 1349 1350 /** 1351 * Merge values of all items. 1352 * @todo Maybe this could be part of a plugin. 1353 * @protected 1354 */ 1355 this._mergers = []; 1356 1357 /** 1358 * Widths of all items. 1359 */ 1360 this._widths = []; 1361 1362 /** 1363 * Invalidated parts within the update process. 1364 * @protected 1365 */ 1366 this._invalidated = {}; 1367 1368 /** 1369 * Ordered list of workers for the update process. 1370 * @protected 1371 */ 1372 this._pipe = []; 1373 1374 /** 1375 * Current state information for the drag operation. 1376 * @todo #261 1377 * @protected 1378 */ 1379 this._drag = { 1380 time: null, 1381 target: null, 1382 pointer: null, 1383 stage: { 1384 start: null, 1385 current: null 1386 }, 1387 direction: null 1388 }; 1389 1390 /** 1391 * Current state information and their tags. 1392 * @type {Object} 1393 * @protected 1394 */ 1395 this._states = { 1396 current: {}, 1397 tags: { 1398 'initializing': [ 'busy' ], 1399 'animating': [ 'busy' ], 1400 'dragging': [ 'interacting' ] 1401 } 1402 }; 1403 1404 $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) { 1405 this._handlers[handler] = $.proxy(this[handler], this); 1406 }, this)); 1407 1408 $.each(Owl.Plugins, $.proxy(function(key, plugin) { 1409 this._plugins[key.charAt(0).toLowerCase() + key.slice(1)] 1410 = new plugin(this); 1411 }, this)); 1412 1413 $.each(Owl.Workers, $.proxy(function(priority, worker) { 1414 this._pipe.push({ 1415 'filter': worker.filter, 1416 'run': $.proxy(worker.run, this) 1417 }); 1418 }, this)); 1419 1420 this.setup(); 1421 this.initialize(); 1422 } 1423 1424 /** 1425 * Default options for the carousel. 1426 * @public 1427 */ 1428 Owl.Defaults = { 1429 items: 3, 1430 loop: false, 1431 center: false, 1432 rewind: false, 1433 checkVisibility: true, 1434 1435 mouseDrag: true, 1436 touchDrag: true, 1437 pullDrag: true, 1438 freeDrag: false, 1439 1440 margin: 0, 1441 stagePadding: 0, 1442 1443 merge: false, 1444 mergeFit: true, 1445 autoWidth: false, 1446 1447 startPosition: 0, 1448 rtl: false, 1449 1450 smartSpeed: 250, 1451 fluidSpeed: false, 1452 dragEndSpeed: false, 1453 1454 responsive: {}, 1455 responsiveRefreshRate: 200, 1456 responsiveBaseElement: window, 1457 1458 fallbackEasing: 'swing', 1459 slideTransition: '', 1460 1461 info: false, 1462 1463 nestedItemSelector: false, 1464 itemElement: 'div', 1465 stageElement: 'div', 1466 1467 refreshClass: 'owl-refresh', 1468 loadedClass: 'owl-loaded', 1469 loadingClass: 'owl-loading', 1470 rtlClass: 'owl-rtl', 1471 responsiveClass: 'owl-responsive', 1472 dragClass: 'owl-drag', 1473 itemClass: 'owl-item', 1474 stageClass: 'owl-stage', 1475 stageOuterClass: 'owl-stage-outer', 1476 grabClass: 'owl-grab' 1477 }; 1478 1479 /** 1480 * Enumeration for width. 1481 * @public 1482 * @readonly 1483 * @enum {String} 1484 */ 1485 Owl.Width = { 1486 Default: 'default', 1487 Inner: 'inner', 1488 Outer: 'outer' 1489 }; 1490 1491 /** 1492 * Enumeration for types. 1493 * @public 1494 * @readonly 1495 * @enum {String} 1496 */ 1497 Owl.Type = { 1498 Event: 'event', 1499 State: 'state' 1500 }; 1501 1502 /** 1503 * Contains all registered plugins. 1504 * @public 1505 */ 1506 Owl.Plugins = {}; 1507 1508 /** 1509 * List of workers involved in the update process. 1510 */ 1511 Owl.Workers = [ { 1512 filter: [ 'width', 'settings' ], 1513 run: function() { 1514 this._width = this.$element.width(); 1515 } 1516 }, { 1517 filter: [ 'width', 'items', 'settings' ], 1518 run: function(cache) { 1519 cache.current = this._items && this._items[this.relative(this._current)]; 1520 } 1521 }, { 1522 filter: [ 'items', 'settings' ], 1523 run: function() { 1524 this.$stage.children('.cloned').remove(); 1525 } 1526 }, { 1527 filter: [ 'width', 'items', 'settings' ], 1528 run: function(cache) { 1529 var margin = this.settings.margin || '', 1530 grid = !this.settings.autoWidth, 1531 rtl = this.settings.rtl, 1532 css = { 1533 'width': 'auto', 1534 'margin-left': rtl ? margin : '', 1535 'margin-right': rtl ? '' : margin 1536 }; 1537 1538 !grid && this.$stage.children().css(css); 1539 1540 cache.css = css; 1541 } 1542 }, { 1543 filter: [ 'width', 'items', 'settings' ], 1544 run: function(cache) { 1545 var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, 1546 merge = null, 1547 iterator = this._items.length, 1548 grid = !this.settings.autoWidth, 1549 widths = []; 1550 1551 cache.items = { 1552 merge: false, 1553 width: width 1554 }; 1555 1556 while (iterator--) { 1557 merge = this._mergers[iterator]; 1558 merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge; 1559 1560 cache.items.merge = merge > 1 || cache.items.merge; 1561 1562 widths[iterator] = !grid ? this._items[iterator].width() : width * merge; 1563 } 1564 1565 this._widths = widths; 1566 } 1567 }, { 1568 filter: [ 'items', 'settings' ], 1569 run: function() { 1570 var clones = [], 1571 items = this._items, 1572 settings = this.settings, 1573 // TODO: Should be computed from number of min width items in stage 1574 view = Math.max(settings.items * 2, 4), 1575 size = Math.ceil(items.length / 2) * 2, 1576 repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0, 1577 append = '', 1578 prepend = ''; 1579 1580 repeat /= 2; 1581 1582 while (repeat > 0) { 1583 // Switch to only using appended clones 1584 clones.push(this.normalize(clones.length / 2, true)); 1585 append = append + items[clones[clones.length - 1]][0].outerHTML; 1586 clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true)); 1587 prepend = items[clones[clones.length - 1]][0].outerHTML + prepend; 1588 repeat -= 1; 1589 } 1590 1591 this._clones = clones; 1592 1593 $(append).addClass('cloned').appendTo(this.$stage); 1594 $(prepend).addClass('cloned').prependTo(this.$stage); 1595 } 1596 }, { 1597 filter: [ 'width', 'items', 'settings' ], 1598 run: function() { 1599 var rtl = this.settings.rtl ? 1 : -1, 1600 size = this._clones.length + this._items.length, 1601 iterator = -1, 1602 previous = 0, 1603 current = 0, 1604 coordinates = []; 1605 1606 while (++iterator < size) { 1607 previous = coordinates[iterator - 1] || 0; 1608 current = this._widths[this.relative(iterator)] + this.settings.margin; 1609 coordinates.push(previous + current * rtl); 1610 } 1611 1612 this._coordinates = coordinates; 1613 } 1614 }, { 1615 filter: [ 'width', 'items', 'settings' ], 1616 run: function() { 1617 var padding = this.settings.stagePadding, 1618 coordinates = this._coordinates, 1619 css = { 1620 'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2, 1621 'padding-left': padding || '', 1622 'padding-right': padding || '' 1623 }; 1624 1625 this.$stage.css(css); 1626 } 1627 }, { 1628 filter: [ 'width', 'items', 'settings' ], 1629 run: function(cache) { 1630 var iterator = this._coordinates.length, 1631 grid = !this.settings.autoWidth, 1632 items = this.$stage.children(); 1633 1634 if (grid && cache.items.merge) { 1635 while (iterator--) { 1636 cache.css.width = this._widths[this.relative(iterator)]; 1637 items.eq(iterator).css(cache.css); 1638 } 1639 } else if (grid) { 1640 cache.css.width = cache.items.width; 1641 items.css(cache.css); 1642 } 1643 } 1644 }, { 1645 filter: [ 'items' ], 1646 run: function() { 1647 this._coordinates.length < 1 && this.$stage.removeAttr('style'); 1648 } 1649 }, { 1650 filter: [ 'width', 'items', 'settings' ], 1651 run: function(cache) { 1652 cache.current = cache.current ? this.$stage.children().index(cache.current) : 0; 1653 cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current)); 1654 this.reset(cache.current); 1655 } 1656 }, { 1657 filter: [ 'position' ], 1658 run: function() { 1659 this.animate(this.coordinates(this._current)); 1660 } 1661 }, { 1662 filter: [ 'width', 'position', 'items', 'settings' ], 1663 run: function() { 1664 var rtl = this.settings.rtl ? 1 : -1, 1665 padding = this.settings.stagePadding * 2, 1666 begin = this.coordinates(this.current()) + padding, 1667 end = begin + this.width() * rtl, 1668 inner, outer, matches = [], i, n; 1669 1670 for (i = 0, n = this._coordinates.length; i < n; i++) { 1671 inner = this._coordinates[i - 1] || 0; 1672 outer = Math.abs(this._coordinates[i]) + padding * rtl; 1673 1674 if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end))) 1675 || (this.op(outer, '<', begin) && this.op(outer, '>', end))) { 1676 matches.push(i); 1677 } 1678 } 1679 1680 this.$stage.children('.active').removeClass('active'); 1681 this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active'); 1682 1683 this.$stage.children('.center').removeClass('center'); 1684 if (this.settings.center) { 1685 this.$stage.children().eq(this.current()).addClass('center'); 1686 } 1687 } 1688 } ]; 1689 1690 /** 1691 * Create the stage DOM element 1692 */ 1693 Owl.prototype.initializeStage = function() { 1694 this.$stage = this.$element.find('.' + this.settings.stageClass); 1695 1696 // if the stage is already in the DOM, grab it and skip stage initialization 1697 if (this.$stage.length) { 1698 return; 1699 } 1700 1701 this.$element.addClass(this.options.loadingClass); 1702 1703 // create stage 1704 this.$stage = $('<' + this.settings.stageElement + '>', { 1705 "class": this.settings.stageClass 1706 }).wrap( $( '<div/>', { 1707 "class": this.settings.stageOuterClass 1708 })); 1709 1710 // append stage 1711 this.$element.append(this.$stage.parent()); 1712 }; 1713 1714 /** 1715 * Create item DOM elements 1716 */ 1717 Owl.prototype.initializeItems = function() { 1718 var $items = this.$element.find('.owl-item'); 1719 1720 // if the items are already in the DOM, grab them and skip item initialization 1721 if ($items.length) { 1722 this._items = $items.get().map(function(item) { 1723 return $(item); 1724 }); 1725 1726 this._mergers = this._items.map(function() { 1727 return 1; 1728 }); 1729 1730 this.refresh(); 1731 1732 return; 1733 } 1734 1735 // append content 1736 this.replace(this.$element.children().not(this.$stage.parent())); 1737 1738 // check visibility 1739 if (this.isVisible()) { 1740 // update view 1741 this.refresh(); 1742 } else { 1743 // invalidate width 1744 this.invalidate('width'); 1745 } 1746 1747 this.$element 1748 .removeClass(this.options.loadingClass) 1749 .addClass(this.options.loadedClass); 1750 }; 1751 1752 /** 1753 * Initializes the carousel. 1754 * @protected 1755 */ 1756 Owl.prototype.initialize = function() { 1757 this.enter('initializing'); 1758 this.trigger('initialize'); 1759 1760 this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl); 1761 1762 if (this.settings.autoWidth && !this.is('pre-loading')) { 1763 var imgs, nestedSelector, width; 1764 imgs = this.$element.find('img'); 1765 nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined; 1766 width = this.$element.children(nestedSelector).width(); 1767 1768 if (imgs.length && width <= 0) { 1769 this.preloadAutoWidthImages(imgs); 1770 } 1771 } 1772 1773 this.initializeStage(); 1774 this.initializeItems(); 1775 1776 // register event handlers 1777 this.registerEventHandlers(); 1778 1779 this.leave('initializing'); 1780 this.trigger('initialized'); 1781 }; 1782 1783 /** 1784 * @returns {Boolean} visibility of $element 1785 * if you know the carousel will always be visible you can set `checkVisibility` to `false` to 1786 * prevent the expensive browser layout forced reflow the $element.is(':visible') does 1787 */ 1788 Owl.prototype.isVisible = function() { 1789 return this.settings.checkVisibility 1790 ? this.$element.is(':visible') 1791 : true; 1792 }; 1793 1794 /** 1795 * Setups the current settings. 1796 * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? 1797 * @todo Support for media queries by using `matchMedia` would be nice. 1798 * @public 1799 */ 1800 Owl.prototype.setup = function() { 1801 var viewport = this.viewport(), 1802 overwrites = this.options.responsive, 1803 match = -1, 1804 settings = null; 1805 1806 if (!overwrites) { 1807 settings = $.extend({}, this.options); 1808 } else { 1809 $.each(overwrites, function(breakpoint) { 1810 if (breakpoint <= viewport && breakpoint > match) { 1811 match = Number(breakpoint); 1812 } 1813 }); 1814 1815 settings = $.extend({}, this.options, overwrites[match]); 1816 if (typeof settings.stagePadding === 'function') { 1817 settings.stagePadding = settings.stagePadding(); 1818 } 1819 delete settings.responsive; 1820 1821 // responsive class 1822 if (settings.responsiveClass) { 1823 this.$element.attr('class', 1824 this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match) 1825 ); 1826 } 1827 } 1828 1829 this.trigger('change', { property: { name: 'settings', value: settings } }); 1830 this._breakpoint = match; 1831 this.settings = settings; 1832 this.invalidate('settings'); 1833 this.trigger('changed', { property: { name: 'settings', value: this.settings } }); 1834 }; 1835 1836 /** 1837 * Updates option logic if necessery. 1838 * @protected 1839 */ 1840 Owl.prototype.optionsLogic = function() { 1841 if (this.settings.autoWidth) { 1842 this.settings.stagePadding = false; 1843 this.settings.merge = false; 1844 } 1845 }; 1846 1847 /** 1848 * Prepares an item before add. 1849 * @todo Rename event parameter `content` to `item`. 1850 * @protected 1851 * @returns {jQuery|HTMLElement} - The item container. 1852 */ 1853 Owl.prototype.prepare = function(item) { 1854 var event = this.trigger('prepare', { content: item }); 1855 1856 if (!event.data) { 1857 event.data = $('<' + this.settings.itemElement + '/>') 1858 .addClass(this.options.itemClass).append(item) 1859 } 1860 1861 this.trigger('prepared', { content: event.data }); 1862 1863 return event.data; 1864 }; 1865 1866 /** 1867 * Updates the view. 1868 * @public 1869 */ 1870 Owl.prototype.update = function() { 1871 var i = 0, 1872 n = this._pipe.length, 1873 filter = $.proxy(function(p) { return this[p] }, this._invalidated), 1874 cache = {}; 1875 1876 while (i < n) { 1877 if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) { 1878 this._pipe[i].run(cache); 1879 } 1880 i++; 1881 } 1882 1883 this._invalidated = {}; 1884 1885 !this.is('valid') && this.enter('valid'); 1886 }; 1887 1888 /** 1889 * Gets the width of the view. 1890 * @public 1891 * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return. 1892 * @returns {Number} - The width of the view in pixel. 1893 */ 1894 Owl.prototype.width = function(dimension) { 1895 dimension = dimension || Owl.Width.Default; 1896 switch (dimension) { 1897 case Owl.Width.Inner: 1898 case Owl.Width.Outer: 1899 return this._width; 1900 default: 1901 return this._width - this.settings.stagePadding * 2 + this.settings.margin; 1902 } 1903 }; 1904 1905 /** 1906 * Refreshes the carousel primarily for adaptive purposes. 1907 * @public 1908 */ 1909 Owl.prototype.refresh = function() { 1910 this.enter('refreshing'); 1911 this.trigger('refresh'); 1912 1913 this.setup(); 1914 1915 this.optionsLogic(); 1916 1917 this.$element.addClass(this.options.refreshClass); 1918 1919 this.update(); 1920 1921 this.$element.removeClass(this.options.refreshClass); 1922 1923 this.leave('refreshing'); 1924 this.trigger('refreshed'); 1925 }; 1926 1927 /** 1928 * Checks window `resize` event. 1929 * @protected 1930 */ 1931 Owl.prototype.onThrottledResize = function() { 1932 window.clearTimeout(this.resizeTimer); 1933 this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate); 1934 }; 1935 1936 /** 1937 * Checks window `resize` event. 1938 * @protected 1939 */ 1940 Owl.prototype.onResize = function() { 1941 if (!this._items.length) { 1942 return false; 1943 } 1944 1945 if (this._width === this.$element.width()) { 1946 return false; 1947 } 1948 1949 if (!this.isVisible()) { 1950 return false; 1951 } 1952 1953 this.enter('resizing'); 1954 1955 if (this.trigger('resize').isDefaultPrevented()) { 1956 this.leave('resizing'); 1957 return false; 1958 } 1959 1960 this.invalidate('width'); 1961 1962 this.refresh(); 1963 1964 this.leave('resizing'); 1965 this.trigger('resized'); 1966 }; 1967 1968 /** 1969 * Registers event handlers. 1970 * @todo Check `msPointerEnabled` 1971 * @todo #261 1972 * @protected 1973 */ 1974 Owl.prototype.registerEventHandlers = function() { 1975 if ($.support.transition) { 1976 this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this)); 1977 } 1978 1979 if (this.settings.responsive !== false) { 1980 this.on(window, 'resize', this._handlers.onThrottledResize); 1981 } 1982 1983 if (this.settings.mouseDrag) { 1984 this.$element.addClass(this.options.dragClass); 1985 this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this)); 1986 this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false }); 1987 } 1988 1989 if (this.settings.touchDrag){ 1990 this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this)); 1991 this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this)); 1992 } 1993 }; 1994 1995 /** 1996 * Handles `touchstart` and `mousedown` events. 1997 * @todo Horizontal swipe threshold as option 1998 * @todo #261 1999 * @protected 2000 * @param {Event} event - The event arguments. 2001 */ 2002 Owl.prototype.onDragStart = function(event) { 2003 var stage = null; 2004 2005 if (event.which === 3) { 2006 return; 2007 } 2008 2009 if ($.support.transform) { 2010 stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(','); 2011 stage = { 2012 x: stage[stage.length === 16 ? 12 : 4], 2013 y: stage[stage.length === 16 ? 13 : 5] 2014 }; 2015 } else { 2016 stage = this.$stage.position(); 2017 stage = { 2018 x: this.settings.rtl ? 2019 stage.left + this.$stage.width() - this.width() + this.settings.margin : 2020 stage.left, 2021 y: stage.top 2022 }; 2023 } 2024 2025 if (this.is('animating')) { 2026 $.support.transform ? this.animate(stage.x) : this.$stage.stop() 2027 this.invalidate('position'); 2028 } 2029 2030 this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown'); 2031 2032 this.speed(0); 2033 2034 this._drag.time = new Date().getTime(); 2035 this._drag.target = $(event.target); 2036 this._drag.stage.start = stage; 2037 this._drag.stage.current = stage; 2038 this._drag.pointer = this.pointer(event); 2039 2040 $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this)); 2041 2042 $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) { 2043 var delta = this.difference(this._drag.pointer, this.pointer(event)); 2044 2045 $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this)); 2046 2047 if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) { 2048 return; 2049 } 2050 2051 event.preventDefault(); 2052 2053 this.enter('dragging'); 2054 this.trigger('drag'); 2055 }, this)); 2056 }; 2057 2058 /** 2059 * Handles the `touchmove` and `mousemove` events. 2060 * @todo #261 2061 * @protected 2062 * @param {Event} event - The event arguments. 2063 */ 2064 Owl.prototype.onDragMove = function(event) { 2065 var minimum = null, 2066 maximum = null, 2067 pull = null, 2068 delta = this.difference(this._drag.pointer, this.pointer(event)), 2069 stage = this.difference(this._drag.stage.start, delta); 2070 2071 if (!this.is('dragging')) { 2072 return; 2073 } 2074 2075 event.preventDefault(); 2076 2077 if (this.settings.loop) { 2078 minimum = this.coordinates(this.minimum()); 2079 maximum = this.coordinates(this.maximum() + 1) - minimum; 2080 stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum; 2081 } else { 2082 minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()); 2083 maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()); 2084 pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0; 2085 stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull); 2086 } 2087 2088 this._drag.stage.current = stage; 2089 2090 this.animate(stage.x); 2091 }; 2092 2093 /** 2094 * Handles the `touchend` and `mouseup` events. 2095 * @todo #261 2096 * @todo Threshold for click event 2097 * @protected 2098 * @param {Event} event - The event arguments. 2099 */ 2100 Owl.prototype.onDragEnd = function(event) { 2101 var delta = this.difference(this._drag.pointer, this.pointer(event)), 2102 stage = this._drag.stage.current, 2103 direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right'; 2104 2105 $(document).off('.owl.core'); 2106 2107 this.$element.removeClass(this.options.grabClass); 2108 2109 if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) { 2110 this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); 2111 this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction)); 2112 this.invalidate('position'); 2113 this.update(); 2114 2115 this._drag.direction = direction; 2116 2117 if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) { 2118 this._drag.target.one('click.owl.core', function() { return false; }); 2119 } 2120 } 2121 2122 if (!this.is('dragging')) { 2123 return; 2124 } 2125 2126 this.leave('dragging'); 2127 this.trigger('dragged'); 2128 }; 2129 2130 /** 2131 * Gets absolute position of the closest item for a coordinate. 2132 * @todo Setting `freeDrag` makes `closest` not reusable. See #165. 2133 * @protected 2134 * @param {Number} coordinate - The coordinate in pixel. 2135 * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`. 2136 * @return {Number} - The absolute position of the closest item. 2137 */ 2138 Owl.prototype.closest = function(coordinate, direction) { 2139 var position = -1, 2140 pull = 30, 2141 width = this.width(), 2142 coordinates = this.coordinates(); 2143 2144 if (!this.settings.freeDrag) { 2145 // check closest item 2146 $.each(coordinates, $.proxy(function(index, value) { 2147 // on a left pull, check on current index 2148 if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) { 2149 position = index; 2150 // on a right pull, check on previous index 2151 // to do so, subtract width from value and set position = index + 1 2152 } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) { 2153 position = index + 1; 2154 } else if (this.op(coordinate, '<', value) 2155 && this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) { 2156 position = direction === 'left' ? index + 1 : index; 2157 } 2158 return position === -1; 2159 }, this)); 2160 } 2161 2162 if (!this.settings.loop) { 2163 // non loop boundries 2164 if (this.op(coordinate, '>', coordinates[this.minimum()])) { 2165 position = coordinate = this.minimum(); 2166 } else if (this.op(coordinate, '<', coordinates[this.maximum()])) { 2167 position = coordinate = this.maximum(); 2168 } 2169 } 2170 2171 return position; 2172 }; 2173 2174 /** 2175 * Animates the stage. 2176 * @todo #270 2177 * @public 2178 * @param {Number} coordinate - The coordinate in pixels. 2179 */ 2180 Owl.prototype.animate = function(coordinate) { 2181 var animate = this.speed() > 0; 2182 2183 this.is('animating') && this.onTransitionEnd(); 2184 2185 if (animate) { 2186 this.enter('animating'); 2187 this.trigger('translate'); 2188 } 2189
vendor: 10,524 bytes, lines 2190-2557
2190 if ($.support.transform3d && $.support.transition) { 2191 this.$stage.css({ 2192 transform: 'translate3d(' + coordinate + 'px,0px,0px)', 2193 transition: (this.speed() / 1000) + 's' + ( 2194 this.settings.slideTransition ? ' ' + this.settings.slideTransition : '' 2195 ) 2196 }); 2197 } else if (animate) { 2198 this.$stage.animate({ 2199 left: coordinate + 'px' 2200 }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this)); 2201 } else { 2202 this.$stage.css({ 2203 left: coordinate + 'px' 2204 }); 2205 } 2206 }; 2207 2208 /** 2209 * Checks whether the carousel is in a specific state or not. 2210 * @param {String} state - The state to check. 2211 * @returns {Boolean} - The flag which indicates if the carousel is busy. 2212 */ 2213 Owl.prototype.is = function(state) { 2214 return this._states.current[state] && this._states.current[state] > 0; 2215 }; 2216 2217 /** 2218 * Sets the absolute position of the current item. 2219 * @public 2220 * @param {Number} [position] - The new absolute position or nothing to leave it unchanged. 2221 * @returns {Number} - The absolute position of the current item. 2222 */ 2223 Owl.prototype.current = function(position) { 2224 if (position === undefined) { 2225 return this._current; 2226 } 2227 2228 if (this._items.length === 0) { 2229 return undefined; 2230 } 2231 2232 position = this.normalize(position); 2233 2234 if (this._current !== position) { 2235 var event = this.trigger('change', { property: { name: 'position', value: position } }); 2236 2237 if (event.data !== undefined) { 2238 position = this.normalize(event.data); 2239 } 2240 2241 this._current = position; 2242 2243 this.invalidate('position'); 2244 2245 this.trigger('changed', { property: { name: 'position', value: this._current } }); 2246 } 2247 2248 return this._current; 2249 }; 2250 2251 /** 2252 * Invalidates the given part of the update routine. 2253 * @param {String} [part] - The part to invalidate. 2254 * @returns {Array.<String>} - The invalidated parts. 2255 */ 2256 Owl.prototype.invalidate = function(part) { 2257 if ($.type(part) === 'string') { 2258 this._invalidated[part] = true; 2259 this.is('valid') && this.leave('valid'); 2260 } 2261 return $.map(this._invalidated, function(v, i) { return i }); 2262 }; 2263 2264 /** 2265 * Resets the absolute position of the current item. 2266 * @public 2267 * @param {Number} position - The absolute position of the new item. 2268 */ 2269 Owl.prototype.reset = function(position) { 2270 position = this.normalize(position); 2271 2272 if (position === undefined) { 2273 return; 2274 } 2275 2276 this._speed = 0; 2277 this._current = position; 2278 2279 this.suppress([ 'translate', 'translated' ]); 2280 2281 this.animate(this.coordinates(position)); 2282 2283 this.release([ 'translate', 'translated' ]); 2284 }; 2285 2286 /** 2287 * Normalizes an absolute or a relative position of an item. 2288 * @public 2289 * @param {Number} position - The absolute or relative position to normalize. 2290 * @param {Boolean} [relative=false] - Whether the given position is relative or not. 2291 * @returns {Number} - The normalized position. 2292 */ 2293 Owl.prototype.normalize = function(position, relative) { 2294 var n = this._items.length, 2295 m = relative ? 0 : this._clones.length; 2296 2297 if (!this.isNumeric(position) || n < 1) { 2298 position = undefined; 2299 } else if (position < 0 || position >= n + m) { 2300 position = ((position - m / 2) % n + n) % n + m / 2; 2301 } 2302 2303 return position; 2304 }; 2305 2306 /** 2307 * Converts an absolute position of an item into a relative one. 2308 * @public 2309 * @param {Number} position - The absolute position to convert. 2310 * @returns {Number} - The converted position. 2311 */ 2312 Owl.prototype.relative = function(position) { 2313 position -= this._clones.length / 2; 2314 return this.normalize(position, true); 2315 }; 2316 2317 /** 2318 * Gets the maximum position for the current item. 2319 * @public 2320 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. 2321 * @returns {Number} 2322 */ 2323 Owl.prototype.maximum = function(relative) { 2324 var settings = this.settings, 2325 maximum = this._coordinates.length, 2326 iterator, 2327 reciprocalItemsWidth, 2328 elementWidth; 2329 2330 if (settings.loop) { 2331 maximum = this._clones.length / 2 + this._items.length - 1; 2332 } else if (settings.autoWidth || settings.merge) { 2333 iterator = this._items.length; 2334 if (iterator) { 2335 reciprocalItemsWidth = this._items[--iterator].width(); 2336 elementWidth = this.$element.width(); 2337 while (iterator--) { 2338 reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin; 2339 if (reciprocalItemsWidth > elementWidth) { 2340 break; 2341 } 2342 } 2343 } 2344 maximum = iterator + 1; 2345 } else if (settings.center) { 2346 maximum = this._items.length - 1; 2347 } else { 2348 maximum = this._items.length - settings.items; 2349 } 2350 2351 if (relative) { 2352 maximum -= this._clones.length / 2; 2353 } 2354 2355 return Math.max(maximum, 0); 2356 }; 2357 2358 /** 2359 * Gets the minimum position for the current item. 2360 * @public 2361 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. 2362 * @returns {Number} 2363 */ 2364 Owl.prototype.minimum = function(relative) { 2365 return relative ? 0 : this._clones.length / 2; 2366 }; 2367 2368 /** 2369 * Gets an item at the specified relative position. 2370 * @public 2371 * @param {Number} [position] - The relative position of the item. 2372 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given. 2373 */ 2374 Owl.prototype.items = function(position) { 2375 if (position === undefined) { 2376 return this._items.slice(); 2377 } 2378 2379 position = this.normalize(position, true); 2380 return this._items[position]; 2381 }; 2382 2383 /** 2384 * Gets an item at the specified relative position. 2385 * @public 2386 * @param {Number} [position] - The relative position of the item. 2387 * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given. 2388 */ 2389 Owl.prototype.mergers = function(position) { 2390 if (position === undefined) { 2391 return this._mergers.slice(); 2392 } 2393 2394 position = this.normalize(position, true); 2395 return this._mergers[position]; 2396 }; 2397 2398 /** 2399 * Gets the absolute positions of clones for an item. 2400 * @public 2401 * @param {Number} [position] - The relative position of the item. 2402 * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given. 2403 */ 2404 Owl.prototype.clones = function(position) { 2405 var odd = this._clones.length / 2, 2406 even = odd + this._items.length, 2407 map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 }; 2408 2409 if (position === undefined) { 2410 return $.map(this._clones, function(v, i) { return map(i) }); 2411 } 2412 2413 return $.map(this._clones, function(v, i) { return v === position ? map(i) : null }); 2414 }; 2415 2416 /** 2417 * Sets the current animation speed. 2418 * @public 2419 * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged. 2420 * @returns {Number} - The current animation speed in milliseconds. 2421 */ 2422 Owl.prototype.speed = function(speed) { 2423 if (speed !== undefined) { 2424 this._speed = speed; 2425 } 2426 2427 return this._speed; 2428 }; 2429 2430 /** 2431 * Gets the coordinate of an item. 2432 * @todo The name of this method is missleanding. 2433 * @public 2434 * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. 2435 * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates. 2436 */ 2437 Owl.prototype.coordinates = function(position) { 2438 var multiplier = 1, 2439 newPosition = position - 1, 2440 coordinate; 2441 2442 if (position === undefined) { 2443 return $.map(this._coordinates, $.proxy(function(coordinate, index) { 2444 return this.coordinates(index); 2445 }, this)); 2446 } 2447 2448 if (this.settings.center) { 2449 if (this.settings.rtl) { 2450 multiplier = -1; 2451 newPosition = position + 1; 2452 } 2453 2454 coordinate = this._coordinates[position]; 2455 coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier; 2456 } else { 2457 coordinate = this._coordinates[newPosition] || 0; 2458 } 2459 2460 coordinate = Math.ceil(coordinate); 2461 2462 return coordinate; 2463 }; 2464 2465 /** 2466 * Calculates the speed for a translation. 2467 * @protected 2468 * @param {Number} from - The absolute position of the start item. 2469 * @param {Number} to - The absolute position of the target item. 2470 * @param {Number} [factor=undefined] - The time factor in milliseconds. 2471 * @returns {Number} - The time in milliseconds for the translation. 2472 */ 2473 Owl.prototype.duration = function(from, to, factor) { 2474 if (factor === 0) { 2475 return 0; 2476 } 2477 2478 return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed)); 2479 }; 2480 2481 /** 2482 * Slides to the specified item. 2483 * @public 2484 * @param {Number} position - The position of the item. 2485 * @param {Number} [speed] - The time in milliseconds for the transition. 2486 */ 2487 Owl.prototype.to = function(position, speed) { 2488 var current = this.current(), 2489 revert = null, 2490 distance = position - this.relative(current), 2491 direction = (distance > 0) - (distance < 0), 2492 items = this._items.length, 2493 minimum = this.minimum(), 2494 maximum = this.maximum(); 2495 2496 if (this.settings.loop) { 2497 if (!this.settings.rewind && Math.abs(distance) > items / 2) { 2498 distance += direction * -1 * items; 2499 } 2500 2501 position = current + distance; 2502 revert = ((position - minimum) % items + items) % items + minimum; 2503 2504 if (revert !== position && revert - distance <= maximum && revert - distance > 0) { 2505 current = revert - distance; 2506 position = revert; 2507 this.reset(current); 2508 } 2509 } else if (this.settings.rewind) { 2510 maximum += 1; 2511 position = (position % maximum + maximum) % maximum; 2512 } else { 2513 position = Math.max(minimum, Math.min(maximum, position)); 2514 } 2515 2516 this.speed(this.duration(current, position, speed)); 2517 this.current(position); 2518 2519 if (this.isVisible()) { 2520 this.update(); 2521 } 2522 }; 2523 2524 /** 2525 * Slides to the next item. 2526 * @public 2527 * @param {Number} [speed] - The time in milliseconds for the transition. 2528 */ 2529 Owl.prototype.next = function(speed) { 2530 speed = speed || false; 2531 this.to(this.relative(this.current()) + 1, speed); 2532 }; 2533 2534 /** 2535 * Slides to the previous item. 2536 * @public 2537 * @param {Number} [speed] - The time in milliseconds for the transition. 2538 */ 2539 Owl.prototype.prev = function(speed) { 2540 speed = speed || false; 2541 this.to(this.relative(this.current()) - 1, speed); 2542 }; 2543 2544 /** 2545 * Handles the end of an animation. 2546 * @protected 2547 * @param {Event} event - The event arguments. 2548 */ 2549 Owl.prototype.onTransitionEnd = function(event) { 2550 2551 // if css2 animation then event object is undefined 2552 if (event !== undefined) { 2553 event.stopPropagation(); 2554 2555 // Catch only owl-stage transitionEnd event 2556 if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) { 2557 return false;
vendor: 22,957 bytes, lines 2558-3406
2558 } 2559 } 2560 2561 this.leave('animating'); 2562 this.trigger('translated'); 2563 }; 2564 2565 /** 2566 * Gets viewport width. 2567 * @protected 2568 * @return {Number} - The width in pixel. 2569 */ 2570 Owl.prototype.viewport = function() { 2571 var width; 2572 if (this.options.responsiveBaseElement !== window) { 2573 width = $(this.options.responsiveBaseElement).width(); 2574 } else if (window.innerWidth) { 2575 width = window.innerWidth; 2576 } else if (document.documentElement && document.documentElement.clientWidth) { 2577 width = document.documentElement.clientWidth; 2578 } else { 2579 console.warn('Can not detect viewport width.'); 2580 } 2581 return width; 2582 }; 2583 2584 /** 2585 * Replaces the current content. 2586 * @public 2587 * @param {HTMLElement|jQuery|String} content - The new content. 2588 */ 2589 Owl.prototype.replace = function(content) { 2590 this.$stage.empty(); 2591 this._items = []; 2592 2593 if (content) { 2594 content = (content instanceof jQuery) ? content : $(content); 2595 } 2596 2597 if (this.settings.nestedItemSelector) { 2598 content = content.find('.' + this.settings.nestedItemSelector); 2599 } 2600 2601 content.filter(function() { 2602 return this.nodeType === 1; 2603 }).each($.proxy(function(index, item) { 2604 item = this.prepare(item); 2605 this.$stage.append(item); 2606 this._items.push(item); 2607 this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); 2608 }, this)); 2609 2610 this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0); 2611 2612 this.invalidate('items'); 2613 }; 2614 2615 /** 2616 * Adds an item. 2617 * @todo Use `item` instead of `content` for the event arguments. 2618 * @public 2619 * @param {HTMLElement|jQuery|String} content - The item content to add. 2620 * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end. 2621 */ 2622 Owl.prototype.add = function(content, position) { 2623 var current = this.relative(this._current); 2624 2625 position = position === undefined ? this._items.length : this.normalize(position, true); 2626 content = content instanceof jQuery ? content : $(content); 2627 2628 this.trigger('add', { content: content, position: position }); 2629 2630 content = this.prepare(content); 2631 2632 if (this._items.length === 0 || position === this._items.length) { 2633 this._items.length === 0 && this.$stage.append(content); 2634 this._items.length !== 0 && this._items[position - 1].after(content); 2635 this._items.push(content); 2636 this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); 2637 } else { 2638 this._items[position].before(content); 2639 this._items.splice(position, 0, content); 2640 this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); 2641 } 2642 2643 this._items[current] && this.reset(this._items[current].index()); 2644 2645 this.invalidate('items'); 2646 2647 this.trigger('added', { content: content, position: position }); 2648 }; 2649 2650 /** 2651 * Removes an item by its position. 2652 * @todo Use `item` instead of `content` for the event arguments. 2653 * @public 2654 * @param {Number} position - The relative position of the item to remove. 2655 */ 2656 Owl.prototype.remove = function(position) { 2657 position = this.normalize(position, true); 2658 2659 if (position === undefined) { 2660 return; 2661 } 2662 2663 this.trigger('remove', { content: this._items[position], position: position }); 2664 2665 this._items[position].remove(); 2666 this._items.splice(position, 1); 2667 this._mergers.splice(position, 1); 2668 2669 this.invalidate('items'); 2670 2671 this.trigger('removed', { content: null, position: position }); 2672 }; 2673 2674 /** 2675 * Preloads images with auto width. 2676 * @todo Replace by a more generic approach 2677 * @protected 2678 */ 2679 Owl.prototype.preloadAutoWidthImages = function(images) { 2680 images.each($.proxy(function(i, element) { 2681 this.enter('pre-loading'); 2682 element = $(element); 2683 $(new Image()).one('load', $.proxy(function(e) { 2684 element.attr('src', e.target.src); 2685 element.css('opacity', 1); 2686 this.leave('pre-loading'); 2687 !this.is('pre-loading') && !this.is('initializing') && this.refresh(); 2688 }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina')); 2689 }, this)); 2690 }; 2691 2692 /** 2693 * Destroys the carousel. 2694 * @public 2695 */ 2696 Owl.prototype.destroy = function() { 2697 2698 this.$element.off('.owl.core'); 2699 this.$stage.off('.owl.core'); 2700 $(document).off('.owl.core'); 2701 2702 if (this.settings.responsive !== false) { 2703 window.clearTimeout(this.resizeTimer); 2704 this.off(window, 'resize', this._handlers.onThrottledResize); 2705 } 2706 2707 for (var i in this._plugins) { 2708 this._plugins[i].destroy(); 2709 } 2710 2711 this.$stage.children('.cloned').remove(); 2712 2713 this.$stage.unwrap(); 2714 this.$stage.children().contents().unwrap(); 2715 this.$stage.children().unwrap(); 2716 this.$stage.remove(); 2717 this.$element 2718 .removeClass(this.options.refreshClass) 2719 .removeClass(this.options.loadingClass) 2720 .removeClass(this.options.loadedClass) 2721 .removeClass(this.options.rtlClass) 2722 .removeClass(this.options.dragClass) 2723 .removeClass(this.options.grabClass) 2724 .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), '')) 2725 .removeData('owl.carousel'); 2726 }; 2727 2728 /** 2729 * Operators to calculate right-to-left and left-to-right. 2730 * @protected 2731 * @param {Number} [a] - The left side operand. 2732 * @param {String} [o] - The operator. 2733 * @param {Number} [b] - The right side operand. 2734 */ 2735 Owl.prototype.op = function(a, o, b) { 2736 var rtl = this.settings.rtl; 2737 switch (o) { 2738 case '<': 2739 return rtl ? a > b : a < b; 2740 case '>': 2741 return rtl ? a < b : a > b; 2742 case '>=': 2743 return rtl ? a <= b : a >= b; 2744 case '<=': 2745 return rtl ? a >= b : a <= b; 2746 default: 2747 break; 2748 } 2749 }; 2750 2751 /** 2752 * Attaches to an internal event. 2753 * @protected 2754 * @param {HTMLElement} element - The event source. 2755 * @param {String} event - The event name. 2756 * @param {Function} listener - The event handler to attach. 2757 * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. 2758 */ 2759 Owl.prototype.on = function(element, event, listener, capture) { 2760 if (element.addEventListener) { 2761 element.addEventListener(event, listener, capture); 2762 } else if (element.attachEvent) { 2763 element.attachEvent('on' + event, listener); 2764 } 2765 }; 2766 2767 /** 2768 * Detaches from an internal event. 2769 * @protected 2770 * @param {HTMLElement} element - The event source. 2771 * @param {String} event - The event name. 2772 * @param {Function} listener - The attached event handler to detach. 2773 * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. 2774 */ 2775 Owl.prototype.off = function(element, event, listener, capture) { 2776 if (element.removeEventListener) { 2777 element.removeEventListener(event, listener, capture); 2778 } else if (element.detachEvent) { 2779 element.detachEvent('on' + event, listener); 2780 } 2781 }; 2782 2783 /** 2784 * Triggers a public event. 2785 * @todo Remove `status`, `relatedTarget` should be used instead. 2786 * @protected 2787 * @param {String} name - The event name. 2788 * @param {*} [data=null] - The event data. 2789 * @param {String} [namespace=carousel] - The event namespace. 2790 * @param {String} [state] - The state which is associated with the event. 2791 * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not. 2792 * @returns {Event} - The event arguments. 2793 */ 2794 Owl.prototype.trigger = function(name, data, namespace, state, enter) { 2795 var status = { 2796 item: { count: this._items.length, index: this.current() } 2797 }, handler = $.camelCase( 2798 $.grep([ 'on', name, namespace ], function(v) { return v }) 2799 .join('-').toLowerCase() 2800 ), event = $.Event( 2801 [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(), 2802 $.extend({ relatedTarget: this }, status, data) 2803 ); 2804 2805 if (!this._supress[name]) { 2806 $.each(this._plugins, function(name, plugin) { 2807 if (plugin.onTrigger) { 2808 plugin.onTrigger(event); 2809 } 2810 }); 2811 2812 this.register({ type: Owl.Type.Event, name: name }); 2813 this.$element.trigger(event); 2814 2815 if (this.settings && typeof this.settings[handler] === 'function') { 2816 this.settings[handler].call(this, event); 2817 } 2818 } 2819 2820 return event; 2821 }; 2822 2823 /** 2824 * Enters a state. 2825 * @param name - The state name. 2826 */ 2827 Owl.prototype.enter = function(name) { 2828 $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { 2829 if (this._states.current[name] === undefined) { 2830 this._states.current[name] = 0; 2831 } 2832 2833 this._states.current[name]++; 2834 }, this)); 2835 }; 2836 2837 /** 2838 * Leaves a state. 2839 * @param name - The state name. 2840 */ 2841 Owl.prototype.leave = function(name) { 2842 $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { 2843 this._states.current[name]--; 2844 }, this)); 2845 }; 2846 2847 /** 2848 * Registers an event or state. 2849 * @public 2850 * @param {Object} object - The event or state to register. 2851 */ 2852 Owl.prototype.register = function(object) { 2853 if (object.type === Owl.Type.Event) { 2854 if (!$.event.special[object.name]) { 2855 $.event.special[object.name] = {}; 2856 } 2857 2858 if (!$.event.special[object.name].owl) { 2859 var _default = $.event.special[object.name]._default; 2860 $.event.special[object.name]._default = function(e) { 2861 if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) { 2862 return _default.apply(this, arguments); 2863 } 2864 return e.namespace && e.namespace.indexOf('owl') > -1; 2865 }; 2866 $.event.special[object.name].owl = true; 2867 } 2868 } else if (object.type === Owl.Type.State) { 2869 if (!this._states.tags[object.name]) { 2870 this._states.tags[object.name] = object.tags; 2871 } else { 2872 this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags); 2873 } 2874 2875 this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) { 2876 return $.inArray(tag, this._states.tags[object.name]) === i; 2877 }, this)); 2878 } 2879 }; 2880 2881 /** 2882 * Suppresses events. 2883 * @protected 2884 * @param {Array.<String>} events - The events to suppress. 2885 */ 2886 Owl.prototype.suppress = function(events) { 2887 $.each(events, $.proxy(function(index, event) { 2888 this._supress[event] = true; 2889 }, this)); 2890 }; 2891 2892 /** 2893 * Releases suppressed events. 2894 * @protected 2895 * @param {Array.<String>} events - The events to release. 2896 */ 2897 Owl.prototype.release = function(events) { 2898 $.each(events, $.proxy(function(index, event) { 2899 delete this._supress[event]; 2900 }, this)); 2901 }; 2902 2903 /** 2904 * Gets unified pointer coordinates from event. 2905 * @todo #261 2906 * @protected 2907 * @param {Event} - The `mousedown` or `touchstart` event. 2908 * @returns {Object} - Contains `x` and `y` coordinates of current pointer position. 2909 */ 2910 Owl.prototype.pointer = function(event) { 2911 var result = { x: null, y: null }; 2912 2913 event = event.originalEvent || event || window.event; 2914 2915 event = event.touches && event.touches.length ? 2916 event.touches[0] : event.changedTouches && event.changedTouches.length ? 2917 event.changedTouches[0] : event; 2918 2919 if (event.pageX) { 2920 result.x = event.pageX; 2921 result.y = event.pageY; 2922 } else { 2923 result.x = event.clientX; 2924 result.y = event.clientY; 2925 } 2926 2927 return result; 2928 }; 2929 2930 /** 2931 * Determines if the input is a Number or something that can be coerced to a Number 2932 * @protected 2933 * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested 2934 * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number 2935 */ 2936 Owl.prototype.isNumeric = function(number) { 2937 return !isNaN(parseFloat(number)); 2938 }; 2939 2940 /** 2941 * Gets the difference of two vectors. 2942 * @todo #261 2943 * @protected 2944 * @param {Object} - The first vector. 2945 * @param {Object} - The second vector. 2946 * @returns {Object} - The difference. 2947 */ 2948 Owl.prototype.difference = function(first, second) { 2949 return { 2950 x: first.x - second.x, 2951 y: first.y - second.y 2952 }; 2953 }; 2954 2955 /** 2956 * The jQuery Plugin for the Owl Carousel 2957 * @todo Navigation plugin `next` and `prev` 2958 * @public 2959 */ 2960 $.fn.owlCarousel = function(option) { 2961 var args = Array.prototype.slice.call(arguments, 1); 2962 2963 return this.each(function() { 2964 var $this = $(this), 2965 data = $this.data('owl.carousel'); 2966 2967 if (!data) { 2968 data = new Owl(this, typeof option == 'object' && option); 2969 $this.data('owl.carousel', data); 2970 2971 $.each([ 2972 'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove' 2973 ], function(i, event) { 2974 data.register({ type: Owl.Type.Event, name: event }); 2975 data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) { 2976 if (e.namespace && e.relatedTarget !== this) { 2977 this.suppress([ event ]); 2978 data[event].apply(this, [].slice.call(arguments, 1)); 2979 this.release([ event ]); 2980 } 2981 }, data)); 2982 }); 2983 } 2984 2985 if (typeof option == 'string' && option.charAt(0) !== '_') { 2986 data[option].apply(data, args); 2987 } 2988 }); 2989 }; 2990 2991 /** 2992 * The constructor for the jQuery Plugin 2993 * @public 2994 */ 2995 $.fn.owlCarousel.Constructor = Owl; 2996 2997})(window.Zepto || window.jQuery, window, document); 2998 2999/** 3000 * AutoRefresh Plugin 3001 * @version 2.3.4 3002 * @author Artus Kolanowski 3003 * @author David Deutsch 3004 * @license The MIT License (MIT) 3005 */ 3006;(function($, window, document, undefined) { 3007 3008 /** 3009 * Creates the auto refresh plugin. 3010 * @class The Auto Refresh Plugin 3011 * @param {Owl} carousel - The Owl Carousel 3012 */ 3013 var AutoRefresh = function(carousel) { 3014 /** 3015 * Reference to the core. 3016 * @protected 3017 * @type {Owl} 3018 */ 3019 this._core = carousel; 3020 3021 /** 3022 * Refresh interval. 3023 * @protected 3024 * @type {number} 3025 */ 3026 this._interval = null; 3027 3028 /** 3029 * Whether the element is currently visible or not. 3030 * @protected 3031 * @type {Boolean} 3032 */ 3033 this._visible = null; 3034 3035 /** 3036 * All event handlers. 3037 * @protected 3038 * @type {Object} 3039 */ 3040 this._handlers = { 3041 'initialized.owl.carousel': $.proxy(function(e) { 3042 if (e.namespace && this._core.settings.autoRefresh) { 3043 this.watch(); 3044 } 3045 }, this) 3046 }; 3047 3048 // set default options 3049 this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options); 3050 3051 // register event handlers 3052 this._core.$element.on(this._handlers); 3053 }; 3054 3055 /** 3056 * Default options. 3057 * @public 3058 */ 3059 AutoRefresh.Defaults = { 3060 autoRefresh: true, 3061 autoRefreshInterval: 500 3062 }; 3063 3064 /** 3065 * Watches the element. 3066 */ 3067 AutoRefresh.prototype.watch = function() { 3068 if (this._interval) { 3069 return; 3070 } 3071 3072 this._visible = this._core.isVisible(); 3073 this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval); 3074 }; 3075 3076 /** 3077 * Refreshes the element. 3078 */ 3079 AutoRefresh.prototype.refresh = function() { 3080 if (this._core.isVisible() === this._visible) { 3081 return; 3082 } 3083 3084 this._visible = !this._visible; 3085 3086 this._core.$element.toggleClass('owl-hidden', !this._visible); 3087 3088 this._visible && (this._core.invalidate('width') && this._core.refresh()); 3089 }; 3090 3091 /** 3092 * Destroys the plugin. 3093 */ 3094 AutoRefresh.prototype.destroy = function() { 3095 var handler, property; 3096 3097 window.clearInterval(this._interval); 3098 3099 for (handler in this._handlers) { 3100 this._core.$element.off(handler, this._handlers[handler]); 3101 } 3102 for (property in Object.getOwnPropertyNames(this)) { 3103 typeof this[property] != 'function' && (this[property] = null); 3104 } 3105 }; 3106 3107 $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh; 3108 3109})(window.Zepto || window.jQuery, window, document); 3110 3111/** 3112 * Lazy Plugin 3113 * @version 2.3.4 3114 * @author Bartosz Wojciechowski 3115 * @author David Deutsch 3116 * @license The MIT License (MIT) 3117 */ 3118;(function($, window, document, undefined) { 3119 3120 /** 3121 * Creates the lazy plugin. 3122 * @class The Lazy Plugin 3123 * @param {Owl} carousel - The Owl Carousel 3124 */ 3125 var Lazy = function(carousel) { 3126 3127 /** 3128 * Reference to the core. 3129 * @protected 3130 * @type {Owl} 3131 */ 3132 this._core = carousel; 3133 3134 /** 3135 * Already loaded items. 3136 * @protected 3137 * @type {Array.<jQuery>} 3138 */ 3139 this._loaded = []; 3140 3141 /** 3142 * Event handlers. 3143 * @protected 3144 * @type {Object} 3145 */ 3146 this._handlers = { 3147 'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) { 3148 if (!e.namespace) { 3149 return; 3150 } 3151 3152 if (!this._core.settings || !this._core.settings.lazyLoad) { 3153 return; 3154 } 3155 3156 if ((e.property && e.property.name == 'position') || e.type == 'initialized') { 3157 var settings = this._core.settings, 3158 n = (settings.center && Math.ceil(settings.items / 2) || settings.items), 3159 i = ((settings.center && n * -1) || 0), 3160 position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i, 3161 clones = this._core.clones().length, 3162 load = $.proxy(function(i, v) { this.load(v) }, this); 3163 //TODO: Need documentation for this new option 3164 if (settings.lazyLoadEager > 0) { 3165 n += settings.lazyLoadEager; 3166 // If the carousel is looping also preload images that are to the "left" 3167 if (settings.loop) { 3168 position -= settings.lazyLoadEager; 3169 n++; 3170 } 3171 } 3172 3173 while (i++ < n) { 3174 this.load(clones / 2 + this._core.relative(position)); 3175 clones && $.each(this._core.clones(this._core.relative(position)), load); 3176 position++; 3177 } 3178 } 3179 }, this) 3180 }; 3181 3182 // set the default options 3183 this._core.options = $.extend({}, Lazy.Defaults, this._core.options); 3184 3185 // register event handler 3186 this._core.$element.on(this._handlers); 3187 }; 3188 3189 /** 3190 * Default options. 3191 * @public 3192 */ 3193 Lazy.Defaults = { 3194 lazyLoad: false, 3195 lazyLoadEager: 0 3196 }; 3197 3198 /** 3199 * Loads all resources of an item at the specified position. 3200 * @param {Number} position - The absolute position of the item. 3201 * @protected 3202 */ 3203 Lazy.prototype.load = function(position) { 3204 var $item = this._core.$stage.children().eq(position), 3205 $elements = $item && $item.find('.owl-lazy'); 3206 3207 if (!$elements || $.inArray($item.get(0), this._loaded) > -1) { 3208 return; 3209 } 3210 3211 $elements.each($.proxy(function(index, element) { 3212 var $element = $(element), image, 3213 url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset'); 3214 3215 this._core.trigger('load', { element: $element, url: url }, 'lazy'); 3216 3217 if ($element.is('img')) { 3218 $element.one('load.owl.lazy', $.proxy(function() { 3219 $element.css('opacity', 1); 3220 this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); 3221 }, this)).attr('src', url); 3222 } else if ($element.is('source')) { 3223 $element.one('load.owl.lazy', $.proxy(function() { 3224 this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); 3225 }, this)).attr('srcset', url); 3226 } else { 3227 image = new Image(); 3228 image.onload = $.proxy(function() { 3229 $element.css({ 3230 'background-image': 'url("' + url + '")', 3231 'opacity': '1' 3232 }); 3233 this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); 3234 }, this); 3235 image.src = url; 3236 } 3237 }, this)); 3238 3239 this._loaded.push($item.get(0)); 3240 }; 3241 3242 /** 3243 * Destroys the plugin. 3244 * @public 3245 */ 3246 Lazy.prototype.destroy = function() { 3247 var handler, property; 3248 3249 for (handler in this.handlers) { 3250 this._core.$element.off(handler, this.handlers[handler]); 3251 } 3252 for (property in Object.getOwnPropertyNames(this)) { 3253 typeof this[property] != 'function' && (this[property] = null); 3254 } 3255 }; 3256 3257 $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy; 3258 3259})(window.Zepto || window.jQuery, window, document); 3260 3261/** 3262 * AutoHeight Plugin 3263 * @version 2.3.4 3264 * @author Bartosz Wojciechowski 3265 * @author David Deutsch 3266 * @license The MIT License (MIT) 3267 */ 3268;(function($, window, document, undefined) { 3269 3270 /** 3271 * Creates the auto height plugin. 3272 * @class The Auto Height Plugin 3273 * @param {Owl} carousel - The Owl Carousel 3274 */ 3275 var AutoHeight = function(carousel) { 3276 /** 3277 * Reference to the core. 3278 * @protected 3279 * @type {Owl} 3280 */ 3281 this._core = carousel; 3282 3283 this._previousHeight = null; 3284 3285 /** 3286 * All event handlers. 3287 * @protected 3288 * @type {Object} 3289 */ 3290 this._handlers = { 3291 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) { 3292 if (e.namespace && this._core.settings.autoHeight) { 3293 this.update(); 3294 } 3295 }, this), 3296 'changed.owl.carousel': $.proxy(function(e) { 3297 if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){ 3298 this.update(); 3299 } 3300 }, this), 3301 'loaded.owl.lazy': $.proxy(function(e) { 3302 if (e.namespace && this._core.settings.autoHeight 3303 && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) { 3304 this.update(); 3305 } 3306 }, this) 3307 }; 3308 3309 // set default options 3310 this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options); 3311 3312 // register event handlers 3313 this._core.$element.on(this._handlers); 3314 this._intervalId = null; 3315 var refThis = this; 3316 3317 // These changes have been taken from a PR by gavrochelegnou proposed in #1575 3318 // and have been made compatible with the latest jQuery version 3319 $(window).on('load', function() { 3320 if (refThis._core.settings.autoHeight) { 3321 refThis.update(); 3322 } 3323 }); 3324 3325 // Autoresize the height of the carousel when window is resized 3326 // When carousel has images, the height is dependent on the width 3327 // and should also change on resize 3328 $(window).resize(function() { 3329 if (refThis._core.settings.autoHeight) { 3330 if (refThis._intervalId != null) { 3331 clearTimeout(refThis._intervalId); 3332 } 3333 3334 refThis._intervalId = setTimeout(function() { 3335 refThis.update(); 3336 }, 250); 3337 } 3338 }); 3339 3340 }; 3341 3342 /** 3343 * Default options. 3344 * @public 3345 */ 3346 AutoHeight.Defaults = { 3347 autoHeight: false, 3348 autoHeightClass: 'owl-height' 3349 }; 3350 3351 /** 3352 * Updates the view. 3353 */ 3354 AutoHeight.prototype.update = function() { 3355 var start = this._core._current, 3356 end = start + this._core.settings.items, 3357 lazyLoadEnabled = this._core.settings.lazyLoad, 3358 visible = this._core.$stage.children().toArray().slice(start, end), 3359 heights = [], 3360 maxheight = 0; 3361 3362 $.each(visible, function(index, item) { 3363 heights.push($(item).height()); 3364 }); 3365 3366 maxheight = Math.max.apply(null, heights); 3367 3368 if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) { 3369 maxheight = this._previousHeight; 3370 } 3371 3372 this._previousHeight = maxheight; 3373 3374 this._core.$stage.parent() 3375 .height(maxheight) 3376 .addClass(this._core.settings.autoHeightClass); 3377 }; 3378 3379 AutoHeight.prototype.destroy = function() { 3380 var handler, property; 3381 3382 for (handler in this._handlers) { 3383 this._core.$element.off(handler, this._handlers[handler]); 3384 } 3385 for (property in Object.getOwnPropertyNames(this)) { 3386 typeof this[property] !== 'function' && (this[property] = null); 3387 } 3388 }; 3389 3390 $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight; 3391 3392})(window.Zepto || window.jQuery, window, document); 3393 3394/** 3395 * Video Plugin 3396 * @version 2.3.4 3397 * @author Bartosz Wojciechowski 3398 * @author David Deutsch 3399 * @license The MIT License (MIT) 3400 */ 3401;(function($, window, document, undefined) { 3402 3403 /** 3404 * Creates the video plugin. 3405 * @class The Video Plugin 3406 * @param {Owl} carousel - The Owl Carousel
vendor: 5,347 bytes, lines 3407-3604
3407 */ 3408 var Video = function(carousel) { 3409 /** 3410 * Reference to the core. 3411 * @protected 3412 * @type {Owl} 3413 */ 3414 this._core = carousel; 3415 3416 /** 3417 * Cache all video URLs. 3418 * @protected 3419 * @type {Object} 3420 */ 3421 this._videos = {}; 3422 3423 /** 3424 * Current playing item. 3425 * @protected 3426 * @type {jQuery} 3427 */ 3428 this._playing = null; 3429 3430 /** 3431 * All event handlers. 3432 * @todo The cloned content removale is too late 3433 * @protected 3434 * @type {Object} 3435 */ 3436 this._handlers = { 3437 'initialized.owl.carousel': $.proxy(function(e) { 3438 if (e.namespace) { 3439 this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] }); 3440 } 3441 }, this), 3442 'resize.owl.carousel': $.proxy(function(e) { 3443 if (e.namespace && this._core.settings.video && this.isInFullScreen()) { 3444 e.preventDefault(); 3445 } 3446 }, this), 3447 'refreshed.owl.carousel': $.proxy(function(e) { 3448 if (e.namespace && this._core.is('resizing')) { 3449 this._core.$stage.find('.cloned .owl-video-frame').remove(); 3450 } 3451 }, this), 3452 'changed.owl.carousel': $.proxy(function(e) { 3453 if (e.namespace && e.property.name === 'position' && this._playing) { 3454 this.stop(); 3455 } 3456 }, this), 3457 'prepared.owl.carousel': $.proxy(function(e) { 3458 if (!e.namespace) { 3459 return; 3460 } 3461 3462 var $element = $(e.content).find('.owl-video'); 3463 3464 if ($element.length) { 3465 $element.css('display', 'none'); 3466 this.fetch($element, $(e.content)); 3467 } 3468 }, this) 3469 }; 3470 3471 // set default options 3472 this._core.options = $.extend({}, Video.Defaults, this._core.options); 3473 3474 // register event handlers 3475 this._core.$element.on(this._handlers); 3476 3477 this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) { 3478 this.play(e); 3479 }, this)); 3480 }; 3481 3482 /** 3483 * Default options. 3484 * @public 3485 */ 3486 Video.Defaults = { 3487 video: false, 3488 videoHeight: false, 3489 videoWidth: false 3490 }; 3491 3492 /** 3493 * Gets the video ID and the type (YouTube/Vimeo/vzaar only). 3494 * @protected 3495 * @param {jQuery} target - The target containing the video data. 3496 * @param {jQuery} item - The item containing the video. 3497 */ 3498 Video.prototype.fetch = function(target, item) { 3499 var type = (function() { 3500 if (target.attr('data-vimeo-id')) { 3501 return 'vimeo'; 3502 } else if (target.attr('data-vzaar-id')) { 3503 return 'vzaar' 3504 } else { 3505 return 'youtube'; 3506 } 3507 })(), 3508 id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'), 3509 width = target.attr('data-width') || this._core.settings.videoWidth, 3510 height = target.attr('data-height') || this._core.settings.videoHeight, 3511 url = target.attr('href'); 3512 3513 if (url) { 3514 3515 /* 3516 Parses the id's out of the following urls (and probably more): 3517 https://www.youtube.com/watch?v=:id 3518 https://youtu.be/:id 3519 https://vimeo.com/:id 3520 https://vimeo.com/channels/:channel/:id 3521 https://vimeo.com/groups/:group/videos/:id 3522 https://app.vzaar.com/videos/:id 3523 3524 Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F 3525 */ 3526 3527 id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/); 3528 3529 if (id[3].indexOf('youtu') > -1) { 3530 type = 'youtube'; 3531 } else if (id[3].indexOf('vimeo') > -1) { 3532 type = 'vimeo'; 3533 } else if (id[3].indexOf('vzaar') > -1) { 3534 type = 'vzaar'; 3535 } else { 3536 throw new Error('Video URL not supported.'); 3537 } 3538 id = id[6]; 3539 } else { 3540 throw new Error('Missing video URL.'); 3541 } 3542 3543 this._videos[url] = { 3544 type: type, 3545 id: id, 3546 width: width, 3547 height: height 3548 }; 3549 3550 item.attr('data-video', url); 3551 3552 this.thumbnail(target, this._videos[url]); 3553 }; 3554 3555 /** 3556 * Creates video thumbnail. 3557 * @protected 3558 * @param {jQuery} target - The target containing the video data. 3559 * @param {Object} info - The video info object. 3560 * @see `fetch` 3561 */ 3562 Video.prototype.thumbnail = function(target, video) { 3563 var tnLink, 3564 icon, 3565 path, 3566 dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '', 3567 customTn = target.find('img'), 3568 srcType = 'src', 3569 lazyClass = '', 3570 settings = this._core.settings, 3571 create = function(path) { 3572 icon = '<div class="owl-video-play-icon"></div>'; 3573 3574 if (settings.lazyLoad) { 3575 tnLink = $('<div/>',{ 3576 "class": 'owl-video-tn ' + lazyClass, 3577 "srcType": path 3578 }); 3579 } else { 3580 tnLink = $( '<div/>', { 3581 "class": "owl-video-tn", 3582 "style": 'opacity:1;background-image:url(' + path + ')' 3583 }); 3584 } 3585 target.after(tnLink); 3586 target.after(icon); 3587 }; 3588 3589 // wrap video content into owl-video-wrapper div 3590 target.wrap( $( '<div/>', { 3591 "class": "owl-video-wrapper", 3592 "style": dimensions 3593 })); 3594 3595 if (this._core.settings.lazyLoad) { 3596 srcType = 'data-src'; 3597 lazyClass = 'owl-lazy'; 3598 } 3599 3600 // custom thumbnail 3601 if (customTn.length) { 3602 create(customTn.attr(srcType)); 3603 customTn.remove(); 3604 return false;
vendor: 15,295 bytes, lines 3605-4222
3605 } 3606 3607 if (video.type === 'youtube') { 3608 path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg"; 3609 create(path); 3610 } else if (video.type === 'vimeo') { 3611 $.ajax({ 3612 type: 'GET', 3613 url: '//vimeo.com/api/v2/video/' + video.id + '.json', 3614 jsonp: 'callback', 3615 dataType: 'jsonp', 3616 success: function(data) { 3617 path = data[0].thumbnail_large; 3618 create(path); 3619 } 3620 }); 3621 } else if (video.type === 'vzaar') { 3622 $.ajax({ 3623 type: 'GET', 3624 url: '//vzaar.com/api/videos/' + video.id + '.json', 3625 jsonp: 'callback', 3626 dataType: 'jsonp', 3627 success: function(data) { 3628 path = data.framegrab_url; 3629 create(path); 3630 } 3631 }); 3632 } 3633 }; 3634 3635 /** 3636 * Stops the current video. 3637 * @public 3638 */ 3639 Video.prototype.stop = function() { 3640 this._core.trigger('stop', null, 'video'); 3641 this._playing.find('.owl-video-frame').remove(); 3642 this._playing.removeClass('owl-video-playing'); 3643 this._playing = null; 3644 this._core.leave('playing'); 3645 this._core.trigger('stopped', null, 'video'); 3646 }; 3647 3648 /** 3649 * Starts the current video. 3650 * @public 3651 * @param {Event} event - The event arguments. 3652 */ 3653 Video.prototype.play = function(event) { 3654 var target = $(event.target), 3655 item = target.closest('.' + this._core.settings.itemClass), 3656 video = this._videos[item.attr('data-video')], 3657 width = video.width || '100%', 3658 height = video.height || this._core.$stage.height(), 3659 html, 3660 iframe; 3661 3662 if (this._playing) { 3663 return; 3664 } 3665 3666 this._core.enter('playing'); 3667 this._core.trigger('play', null, 'video'); 3668 3669 item = this._core.items(this._core.relative(item.index())); 3670 3671 this._core.reset(item.index()); 3672 3673 html = $( '<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>' ); 3674 html.attr( 'height', height ); 3675 html.attr( 'width', width ); 3676 if (video.type === 'youtube') { 3677 html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id ); 3678 } else if (video.type === 'vimeo') { 3679 html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' ); 3680 } else if (video.type === 'vzaar') { 3681 html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' ); 3682 } 3683 3684 iframe = $(html).wrap( '<div class="owl-video-frame" />' ).insertAfter(item.find('.owl-video')); 3685 3686 this._playing = item.addClass('owl-video-playing'); 3687 }; 3688 3689 /** 3690 * Checks whether an video is currently in full screen mode or not. 3691 * @todo Bad style because looks like a readonly method but changes members. 3692 * @protected 3693 * @returns {Boolean} 3694 */ 3695 Video.prototype.isInFullScreen = function() { 3696 var element = document.fullscreenElement || document.mozFullScreenElement || 3697 document.webkitFullscreenElement; 3698 3699 return element && $(element).parent().hasClass('owl-video-frame'); 3700 }; 3701 3702 /** 3703 * Destroys the plugin. 3704 */ 3705 Video.prototype.destroy = function() { 3706 var handler, property; 3707 3708 this._core.$element.off('click.owl.video'); 3709 3710 for (handler in this._handlers) { 3711 this._core.$element.off(handler, this._handlers[handler]); 3712 } 3713 for (property in Object.getOwnPropertyNames(this)) { 3714 typeof this[property] != 'function' && (this[property] = null); 3715 } 3716 }; 3717 3718 $.fn.owlCarousel.Constructor.Plugins.Video = Video; 3719 3720})(window.Zepto || window.jQuery, window, document); 3721 3722/** 3723 * Animate Plugin 3724 * @version 2.3.4 3725 * @author Bartosz Wojciechowski 3726 * @author David Deutsch 3727 * @license The MIT License (MIT) 3728 */ 3729;(function($, window, document, undefined) { 3730 3731 /** 3732 * Creates the animate plugin. 3733 * @class The Navigation Plugin 3734 * @param {Owl} scope - The Owl Carousel 3735 */ 3736 var Animate = function(scope) { 3737 this.core = scope; 3738 this.core.options = $.extend({}, Animate.Defaults, this.core.options); 3739 this.swapping = true; 3740 this.previous = undefined; 3741 this.next = undefined; 3742 3743 this.handlers = { 3744 'change.owl.carousel': $.proxy(function(e) { 3745 if (e.namespace && e.property.name == 'position') { 3746 this.previous = this.core.current(); 3747 this.next = e.property.value; 3748 } 3749 }, this), 3750 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) { 3751 if (e.namespace) { 3752 this.swapping = e.type == 'translated'; 3753 } 3754 }, this), 3755 'translate.owl.carousel': $.proxy(function(e) { 3756 if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { 3757 this.swap(); 3758 } 3759 }, this) 3760 }; 3761 3762 this.core.$element.on(this.handlers); 3763 }; 3764 3765 /** 3766 * Default options. 3767 * @public 3768 */ 3769 Animate.Defaults = { 3770 animateOut: false, 3771 animateIn: false 3772 }; 3773 3774 /** 3775 * Toggles the animation classes whenever an translations starts. 3776 * @protected 3777 * @returns {Boolean|undefined} 3778 */ 3779 Animate.prototype.swap = function() { 3780 3781 if (this.core.settings.items !== 1) { 3782 return; 3783 } 3784 3785 if (!$.support.animation || !$.support.transition) { 3786 return; 3787 } 3788 3789 this.core.speed(0); 3790 3791 var left, 3792 clear = $.proxy(this.clear, this), 3793 previous = this.core.$stage.children().eq(this.previous), 3794 next = this.core.$stage.children().eq(this.next), 3795 incoming = this.core.settings.animateIn, 3796 outgoing = this.core.settings.animateOut; 3797 3798 if (this.core.current() === this.previous) { 3799 return; 3800 } 3801 3802 if (outgoing) { 3803 left = this.core.coordinates(this.previous) - this.core.coordinates(this.next); 3804 previous.one($.support.animation.end, clear) 3805 .css( { 'left': left + 'px' } ) 3806 .addClass('animated owl-animated-out') 3807 .addClass(outgoing); 3808 } 3809 3810 if (incoming) { 3811 next.one($.support.animation.end, clear) 3812 .addClass('animated owl-animated-in') 3813 .addClass(incoming); 3814 } 3815 }; 3816 3817 Animate.prototype.clear = function(e) { 3818 $(e.target).css( { 'left': '' } ) 3819 .removeClass('animated owl-animated-out owl-animated-in') 3820 .removeClass(this.core.settings.animateIn) 3821 .removeClass(this.core.settings.animateOut); 3822 this.core.onTransitionEnd(); 3823 }; 3824 3825 /** 3826 * Destroys the plugin. 3827 * @public 3828 */ 3829 Animate.prototype.destroy = function() { 3830 var handler, property; 3831 3832 for (handler in this.handlers) { 3833 this.core.$element.off(handler, this.handlers[handler]); 3834 } 3835 for (property in Object.getOwnPropertyNames(this)) { 3836 typeof this[property] != 'function' && (this[property] = null); 3837 } 3838 }; 3839 3840 $.fn.owlCarousel.Constructor.Plugins.Animate = Animate; 3841 3842})(window.Zepto || window.jQuery, window, document); 3843 3844/** 3845 * Autoplay Plugin 3846 * @version 2.3.4 3847 * @author Bartosz Wojciechowski 3848 * @author Artus Kolanowski 3849 * @author David Deutsch 3850 * @author Tom De Caluwé 3851 * @license The MIT License (MIT) 3852 */ 3853;(function($, window, document, undefined) { 3854 3855 /** 3856 * Creates the autoplay plugin. 3857 * @class The Autoplay Plugin 3858 * @param {Owl} scope - The Owl Carousel 3859 */ 3860 var Autoplay = function(carousel) { 3861 /** 3862 * Reference to the core. 3863 * @protected 3864 * @type {Owl} 3865 */ 3866 this._core = carousel; 3867 3868 /** 3869 * The autoplay timeout id. 3870 * @type {Number} 3871 */ 3872 this._call = null; 3873 3874 /** 3875 * Depending on the state of the plugin, this variable contains either 3876 * the start time of the timer or the current timer value if it's 3877 * paused. Since we start in a paused state we initialize the timer 3878 * value. 3879 * @type {Number} 3880 */ 3881 this._time = 0; 3882 3883 /** 3884 * Stores the timeout currently used. 3885 * @type {Number} 3886 */ 3887 this._timeout = 0; 3888 3889 /** 3890 * Indicates whenever the autoplay is paused. 3891 * @type {Boolean} 3892 */ 3893 this._paused = true; 3894 3895 /** 3896 * All event handlers. 3897 * @protected 3898 * @type {Object} 3899 */ 3900 this._handlers = { 3901 'changed.owl.carousel': $.proxy(function(e) { 3902 if (e.namespace && e.property.name === 'settings') { 3903 if (this._core.settings.autoplay) { 3904 this.play(); 3905 } else { 3906 this.stop(); 3907 } 3908 } else if (e.namespace && e.property.name === 'position' && this._paused) { 3909 // Reset the timer. This code is triggered when the position 3910 // of the carousel was changed through user interaction. 3911 this._time = 0; 3912 } 3913 }, this), 3914 'initialized.owl.carousel': $.proxy(function(e) { 3915 if (e.namespace && this._core.settings.autoplay) { 3916 this.play(); 3917 } 3918 }, this), 3919 'play.owl.autoplay': $.proxy(function(e, t, s) { 3920 if (e.namespace) { 3921 this.play(t, s); 3922 } 3923 }, this), 3924 'stop.owl.autoplay': $.proxy(function(e) { 3925 if (e.namespace) { 3926 this.stop(); 3927 } 3928 }, this), 3929 'mouseover.owl.autoplay': $.proxy(function() { 3930 if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { 3931 this.pause(); 3932 } 3933 }, this), 3934 'mouseleave.owl.autoplay': $.proxy(function() { 3935 if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { 3936 this.play(); 3937 } 3938 }, this), 3939 'touchstart.owl.core': $.proxy(function() { 3940 if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { 3941 this.pause(); 3942 } 3943 }, this), 3944 'touchend.owl.core': $.proxy(function() { 3945 if (this._core.settings.autoplayHoverPause) { 3946 this.play(); 3947 } 3948 }, this) 3949 }; 3950 3951 // register event handlers 3952 this._core.$element.on(this._handlers); 3953 3954 // set default options 3955 this._core.options = $.extend({}, Autoplay.Defaults, this._core.options); 3956 }; 3957 3958 /** 3959 * Default options. 3960 * @public 3961 */ 3962 Autoplay.Defaults = { 3963 autoplay: false, 3964 autoplayTimeout: 5000, 3965 autoplayHoverPause: false, 3966 autoplaySpeed: false 3967 }; 3968 3969 /** 3970 * Transition to the next slide and set a timeout for the next transition. 3971 * @private 3972 * @param {Number} [speed] - The animation speed for the animations. 3973 */ 3974 Autoplay.prototype._next = function(speed) { 3975 this._call = window.setTimeout( 3976 $.proxy(this._next, this, speed), 3977 this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read() 3978 ); 3979 3980 if (this._core.is('interacting') || document.hidden) { 3981 return; 3982 } 3983 this._core.next(speed || this._core.settings.autoplaySpeed); 3984 } 3985 3986 /** 3987 * Reads the current timer value when the timer is playing. 3988 * @public 3989 */ 3990 Autoplay.prototype.read = function() { 3991 return new Date().getTime() - this._time; 3992 }; 3993 3994 /** 3995 * Starts the autoplay. 3996 * @public 3997 * @param {Number} [timeout] - The interval before the next animation starts. 3998 * @param {Number} [speed] - The animation speed for the animations. 3999 */ 4000 Autoplay.prototype.play = function(timeout, speed) { 4001 var elapsed; 4002 4003 if (!this._core.is('rotating')) { 4004 this._core.enter('rotating'); 4005 } 4006 4007 timeout = timeout || this._core.settings.autoplayTimeout; 4008 4009 // Calculate the elapsed time since the last transition. If the carousel 4010 // wasn't playing this calculation will yield zero. 4011 elapsed = Math.min(this._time % (this._timeout || timeout), timeout); 4012 4013 if (this._paused) { 4014 // Start the clock. 4015 this._time = this.read(); 4016 this._paused = false; 4017 } else { 4018 // Clear the active timeout to allow replacement. 4019 window.clearTimeout(this._call); 4020 } 4021 4022 // Adjust the origin of the timer to match the new timeout value. 4023 this._time += this.read() % timeout - elapsed; 4024 4025 this._timeout = timeout; 4026 this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed); 4027 }; 4028 4029 /** 4030 * Stops the autoplay. 4031 * @public 4032 */ 4033 Autoplay.prototype.stop = function() { 4034 if (this._core.is('rotating')) { 4035 // Reset the clock. 4036 this._time = 0; 4037 this._paused = true; 4038 4039 window.clearTimeout(this._call); 4040 this._core.leave('rotating'); 4041 } 4042 }; 4043 4044 /** 4045 * Pauses the autoplay. 4046 * @public 4047 */ 4048 Autoplay.prototype.pause = function() { 4049 if (this._core.is('rotating') && !this._paused) { 4050 // Pause the clock. 4051 this._time = this.read(); 4052 this._paused = true; 4053 4054 window.clearTimeout(this._call); 4055 } 4056 }; 4057 4058 /** 4059 * Destroys the plugin. 4060 */ 4061 Autoplay.prototype.destroy = function() { 4062 var handler, property; 4063 4064 this.stop(); 4065 4066 for (handler in this._handlers) { 4067 this._core.$element.off(handler, this._handlers[handler]); 4068 } 4069 for (property in Object.getOwnPropertyNames(this)) { 4070 typeof this[property] != 'function' && (this[property] = null); 4071 } 4072 }; 4073 4074 $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; 4075 4076})(window.Zepto || window.jQuery, window, document); 4077 4078/** 4079 * Navigation Plugin 4080 * @version 2.3.4 4081 * @author Artus Kolanowski 4082 * @author David Deutsch 4083 * @license The MIT License (MIT) 4084 */ 4085;(function($, window, document, undefined) { 4086 'use strict'; 4087 4088 /** 4089 * Creates the navigation plugin. 4090 * @class The Navigation Plugin 4091 * @param {Owl} carousel - The Owl Carousel. 4092 */ 4093 var Navigation = function(carousel) { 4094 /** 4095 * Reference to the core. 4096 * @protected 4097 * @type {Owl} 4098 */ 4099 this._core = carousel; 4100 4101 /** 4102 * Indicates whether the plugin is initialized or not. 4103 * @protected 4104 * @type {Boolean} 4105 */ 4106 this._initialized = false; 4107 4108 /** 4109 * The current paging indexes. 4110 * @protected 4111 * @type {Array} 4112 */ 4113 this._pages = []; 4114 4115 /** 4116 * All DOM elements of the user interface. 4117 * @protected 4118 * @type {Object} 4119 */ 4120 this._controls = {}; 4121 4122 /** 4123 * Markup for an indicator. 4124 * @protected 4125 * @type {Array.<String>} 4126 */ 4127 this._templates = []; 4128 4129 /** 4130 * The carousel element. 4131 * @type {jQuery} 4132 */ 4133 this.$element = this._core.$element; 4134 4135 /** 4136 * Overridden methods of the carousel. 4137 * @protected 4138 * @type {Object} 4139 */ 4140 this._overrides = { 4141 next: this._core.next, 4142 prev: this._core.prev, 4143 to: this._core.to 4144 }; 4145 4146 /** 4147 * All event handlers. 4148 * @protected 4149 * @type {Object} 4150 */ 4151 this._handlers = { 4152 'prepared.owl.carousel': $.proxy(function(e) { 4153 if (e.namespace && this._core.settings.dotsData) { 4154 this._templates.push('<div class="' + this._core.settings.dotClass + '">' + 4155 $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '</div>'); 4156 } 4157 }, this), 4158 'added.owl.carousel': $.proxy(function(e) { 4159 if (e.namespace && this._core.settings.dotsData) { 4160 this._templates.splice(e.position, 0, this._templates.pop()); 4161 } 4162 }, this), 4163 'remove.owl.carousel': $.proxy(function(e) { 4164 if (e.namespace && this._core.settings.dotsData) { 4165 this._templates.splice(e.position, 1); 4166 } 4167 }, this), 4168 'changed.owl.carousel': $.proxy(function(e) { 4169 if (e.namespace && e.property.name == 'position') { 4170 this.draw(); 4171 } 4172 }, this), 4173 'initialized.owl.carousel': $.proxy(function(e) { 4174 if (e.namespace && !this._initialized) { 4175 this._core.trigger('initialize', null, 'navigation'); 4176 this.initialize(); 4177 this.update(); 4178 this.draw(); 4179 this._initialized = true; 4180 this._core.trigger('initialized', null, 'navigation'); 4181 } 4182 }, this), 4183 'refreshed.owl.carousel': $.proxy(function(e) { 4184 if (e.namespace && this._initialized) { 4185 this._core.trigger('refresh', null, 'navigation'); 4186 this.update(); 4187 this.draw(); 4188 this._core.trigger('refreshed', null, 'navigation'); 4189 } 4190 }, this) 4191 }; 4192 4193 // set default options 4194 this._core.options = $.extend({}, Navigation.Defaults, this._core.options); 4195 4196 // register event handlers 4197 this.$element.on(this._handlers); 4198 }; 4199 4200 /** 4201 * Default options. 4202 * @public 4203 * @todo Rename `slideBy` to `navBy` 4204 */ 4205 Navigation.Defaults = { 4206 nav: false, 4207 navText: [ 4208 '<span aria-label="' + 'Previous' + '">‹</span>', 4209 '<span aria-label="' + 'Next' + '">›</span>' 4210 ], 4211 navSpeed: false, 4212 navElement: 'button type="button" role="presentation"', 4213 navContainer: false, 4214 navContainerClass: 'owl-nav', 4215 navClass: [ 4216 'owl-prev', 4217 'owl-next' 4218 ], 4219 slideBy: 1, 4220 dotClass: 'owl-dot', 4221 dotsClass: 'owl-dots', 4222 dots:
4222fals
vendor: 7,752 bytes, lines 4222-4483
4222e, 4223 dotsEach: false, 4224 dotsData: false, 4225 dotsSpeed: false, 4226 dotsContainer: false 4227 }; 4228 4229 /** 4230 * Initializes the layout of the plugin and extends the carousel. 4231 * @protected 4232 */ 4233 Navigation.prototype.initialize = function() { 4234 var override, 4235 settings = this._core.settings; 4236 4237 // create DOM structure for relative navigation 4238 this._controls.$relative = (settings.navContainer ? $(settings.navContainer) 4239 : $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled'); 4240 4241 this._controls.$previous = $('<' + settings.navElement + '>') 4242 .addClass(settings.navClass[0]) 4243 .html(settings.navText[0]) 4244 .prependTo(this._controls.$relative) 4245 .on('click', $.proxy(function(e) { 4246 this.prev(settings.navSpeed); 4247 }, this)); 4248 this._controls.$next = $('<' + settings.navElement + '>') 4249 .addClass(settings.navClass[1]) 4250 .html(settings.navText[1]) 4251 .appendTo(this._controls.$relative) 4252 .on('click', $.proxy(function(e) { 4253 this.next(settings.navSpeed); 4254 }, this)); 4255 4256 // create DOM structure for absolute navigation 4257 if (!settings.dotsData) { 4258 this._templates = [ $('<button role="button">') 4259 .addClass(settings.dotClass) 4260 .append($('<span>')) 4261 .prop('outerHTML') ]; 4262 } 4263 4264 this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer) 4265 : $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled'); 4266 4267 this._controls.$absolute.on('click', 'button', $.proxy(function(e) { 4268 var index = $(e.target).parent().is(this._controls.$absolute) 4269 ? $(e.target).index() : $(e.target).parent().index(); 4270 4271 e.preventDefault(); 4272 4273 this.to(index, settings.dotsSpeed); 4274 }, this)); 4275 4276 /*$el.on('focusin', function() { 4277 $(document).off(".carousel"); 4278 4279 $(document).on('keydown.carousel', function(e) { 4280 if(e.keyCode == 37) { 4281 $el.trigger('prev.owl') 4282 } 4283 if(e.keyCode == 39) { 4284 $el.trigger('next.owl') 4285 } 4286 }); 4287 });*/ 4288 4289 // override public methods of the carousel 4290 for (override in this._overrides) { 4291 this._core[override] = $.proxy(this[override], this); 4292 } 4293 }; 4294 4295 /** 4296 * Destroys the plugin. 4297 * @protected 4298 */ 4299 Navigation.prototype.destroy = function() { 4300 var handler, control, property, override, settings; 4301 settings = this._core.settings; 4302 4303 for (handler in this._handlers) { 4304 this.$element.off(handler, this._handlers[handler]); 4305 } 4306 for (control in this._controls) { 4307 if (control === '$relative' && settings.navContainer) { 4308 this._controls[control].html(''); 4309 } else { 4310 this._controls[control].remove(); 4311 } 4312 } 4313 for (override in this.overides) { 4314 this._core[override] = this._overrides[override]; 4315 } 4316 for (property in Object.getOwnPropertyNames(this)) { 4317 typeof this[property] != 'function' && (this[property] = null); 4318 } 4319 }; 4320 4321 /** 4322 * Updates the internal state. 4323 * @protected 4324 */ 4325 Navigation.prototype.update = function() { 4326 var i, j, k, 4327 lower = this._core.clones().length / 2, 4328 upper = lower + this._core.items().length, 4329 maximum = this._core.maximum(true), 4330 settings = this._core.settings, 4331 size = settings.center || settings.autoWidth || settings.dotsData 4332 ? 1 : settings.dotsEach || settings.items; 4333 4334 if (settings.slideBy !== 'page') { 4335 settings.slideBy = Math.min(settings.slideBy, settings.items); 4336 } 4337 4338 if (settings.dots || settings.slideBy == 'page') { 4339 this._pages = []; 4340 4341 for (i = lower, j = 0, k = 0; i < upper; i++) { 4342 if (j >= size || j === 0) { 4343 this._pages.push({ 4344 start: Math.min(maximum, i - lower), 4345 end: i - lower + size - 1 4346 }); 4347 if (Math.min(maximum, i - lower) === maximum) { 4348 break; 4349 } 4350 j = 0, ++k; 4351 } 4352 j += this._core.mergers(this._core.relative(i)); 4353 } 4354 } 4355 }; 4356 4357 /** 4358 * Draws the user interface. 4359 * @todo The option `dotsData` wont work. 4360 * @protected 4361 */ 4362 Navigation.prototype.draw = function() { 4363 var difference, 4364 settings = this._core.settings, 4365 disabled = this._core.items().length <= settings.items, 4366 index = this._core.relative(this._core.current()), 4367 loop = settings.loop || settings.rewind; 4368 4369 this._controls.$relative.toggleClass('disabled', !settings.nav || disabled); 4370 4371 if (settings.nav) { 4372 this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true)); 4373 this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true)); 4374 } 4375 4376 this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled); 4377 4378 if (settings.dots) { 4379 difference = this._pages.length - this._controls.$absolute.children().length; 4380 4381 if (settings.dotsData && difference !== 0) { 4382 this._controls.$absolute.html(this._templates.join('')); 4383 } else if (difference > 0) { 4384 this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0])); 4385 } else if (difference < 0) { 4386 this._controls.$absolute.children().slice(difference).remove(); 4387 } 4388 4389 this._controls.$absolute.find('.active').removeClass('active'); 4390 this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active'); 4391 } 4392 }; 4393 4394 /** 4395 * Extends event data. 4396 * @protected 4397 * @param {Event} event - The event object which gets thrown. 4398 */ 4399 Navigation.prototype.onTrigger = function(event) { 4400 var settings = this._core.settings; 4401 4402 event.page = { 4403 index: $.inArray(this.current(), this._pages), 4404 count: this._pages.length, 4405 size: settings && (settings.center || settings.autoWidth || settings.dotsData 4406 ? 1 : settings.dotsEach || settings.items) 4407 }; 4408 }; 4409 4410 /** 4411 * Gets the current page position of the carousel. 4412 * @protected 4413 * @returns {Number} 4414 */ 4415 Navigation.prototype.current = function() { 4416 var current = this._core.relative(this._core.current()); 4417 return $.grep(this._pages, $.proxy(function(page, index) { 4418 return page.start <= current && page.end >= current; 4419 }, this)).pop(); 4420 }; 4421 4422 /** 4423 * Gets the current succesor/predecessor position. 4424 * @protected 4425 * @returns {Number} 4426 */ 4427 Navigation.prototype.getPosition = function(successor) { 4428 var position, length, 4429 settings = this._core.settings; 4430 4431 if (settings.slideBy == 'page') { 4432 position = $.inArray(this.current(), this._pages); 4433 length = this._pages.length; 4434 successor ? ++position : --position; 4435 position = this._pages[((position % length) + length) % length].start; 4436 } else { 4437 position = this._core.relative(this._core.current()); 4438 length = this._core.items().length; 4439 successor ? position += settings.slideBy : position -= settings.slideBy; 4440 } 4441 4442 return position; 4443 }; 4444 4445 /** 4446 * Slides to the next item or page. 4447 * @public 4448 * @param {Number} [speed=false] - The time in milliseconds for the transition. 4449 */ 4450 Navigation.prototype.next = function(speed) { 4451 $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed); 4452 }; 4453 4454 /** 4455 * Slides to the previous item or page. 4456 * @public 4457 * @param {Number} [speed=false] - The time in milliseconds for the transition. 4458 */ 4459 Navigation.prototype.prev = function(speed) { 4460 $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed); 4461 }; 4462 4463 /** 4464 * Slides to the specified item or page. 4465 * @public 4466 * @param {Number} position - The position of the item or page. 4467 * @param {Number} [speed] - The time in milliseconds for the transition. 4468 * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not. 4469 */ 4470 Navigation.prototype.to = function(position, speed, standard) { 4471 var length; 4472 4473 if (!standard && this._pages.length) { 4474 length = this._pages.length; 4475 $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed); 4476 } else { 4477 $.proxy(this._overrides.to, this._core)(position, speed); 4478 } 4479 }; 4480 4481 $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation; 4482 4483})(
vendor: 4,205 bytes, lines 4483-4663
4483window.Zepto || window.jQuery, window, document); 4484 4485/** 4486 * Hash Plugin 4487 * @version 2.3.4 4488 * @author Artus Kolanowski 4489 * @author David Deutsch 4490 * @license The MIT License (MIT) 4491 */ 4492;(function($, window, document, undefined) { 4493 'use strict'; 4494 4495 /** 4496 * Creates the hash plugin. 4497 * @class The Hash Plugin 4498 * @param {Owl} carousel - The Owl Carousel 4499 */ 4500 var Hash = function(carousel) { 4501 /** 4502 * Reference to the core. 4503 * @protected 4504 * @type {Owl} 4505 */ 4506 this._core = carousel; 4507 4508 /** 4509 * Hash index for the items. 4510 * @protected 4511 * @type {Object} 4512 */ 4513 this._hashes = {}; 4514 4515 /** 4516 * The carousel element. 4517 * @type {jQuery} 4518 */ 4519 this.$element = this._core.$element; 4520 4521 /** 4522 * All event handlers. 4523 * @protected 4524 * @type {Object} 4525 */ 4526 this._handlers = { 4527 'initialized.owl.carousel': $.proxy(function(e) { 4528 if (e.namespace && this._core.settings.startPosition === 'URLHash') { 4529 $(window).trigger('hashchange.owl.navigation'); 4530 } 4531 }, this), 4532 'prepared.owl.carousel': $.proxy(function(e) { 4533 if (e.namespace) { 4534 var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash'); 4535 4536 if (!hash) { 4537 return; 4538 } 4539 4540 this._hashes[hash] = e.content; 4541 } 4542 }, this), 4543 'changed.owl.carousel': $.proxy(function(e) { 4544 if (e.namespace && e.property.name === 'position') { 4545 var current = this._core.items(this._core.relative(this._core.current())), 4546 hash = $.map(this._hashes, function(item, hash) { 4547 return item === current ? hash : null; 4548 }).join(); 4549 4550 if (!hash || window.location.hash.slice(1) === hash) { 4551 return; 4552 } 4553 4554 window.location.hash = hash; 4555 } 4556 }, this) 4557 }; 4558 4559 // set default options 4560 this._core.options = $.extend({}, Hash.Defaults, this._core.options); 4561 4562 // register the event handlers 4563 this.$element.on(this._handlers); 4564 4565 // register event listener for hash navigation 4566 $(window).on('hashchange.owl.navigation', $.proxy(function(e) { 4567 var hash = window.location.hash.substring(1), 4568 items = this._core.$stage.children(), 4569 position = this._hashes[hash] && items.index(this._hashes[hash]); 4570 4571 if (position === undefined || position === this._core.current()) { 4572 return; 4573 } 4574 4575 this._core.to(this._core.relative(position), false, true); 4576 }, this)); 4577 }; 4578 4579 /** 4580 * Default options. 4581 * @public 4582 */ 4583 Hash.Defaults = { 4584 URLhashListener: false 4585 }; 4586 4587 /** 4588 * Destroys the plugin. 4589 * @public 4590 */ 4591 Hash.prototype.destroy = function() { 4592 var handler, property; 4593 4594 $(window).off('hashchange.owl.navigation'); 4595 4596 for (handler in this._handlers) { 4597 this._core.$element.off(handler, this._handlers[handler]); 4598 } 4599 for (property in Object.getOwnPropertyNames(this)) { 4600 typeof this[property] != 'function' && (this[property] = null); 4601 } 4602 }; 4603 4604 $.fn.owlCarousel.Constructor.Plugins.Hash = Hash; 4605 4606})(window.Zepto || window.jQuery, window, document); 4607 4608 4609 4610/** 4611 * Support Plugin 4612 * 4613 * @version 2.3.4 4614 * @author Vivid Planet Software GmbH 4615 * @author Artus Kolanowski 4616 * @author David Deutsch 4617 * @license The MIT License (MIT) 4618 */ 4619;(function($, window, document, undefined) { 4620 4621 var style = $('<support>').get(0).style, 4622 prefixes = 'Webkit Moz O ms'.split(' '), 4623 events = { 4624 transition: { 4625 end: { 4626 WebkitTransition: 'webkitTransitionEnd', 4627 MozTransition: 'transitionend', 4628 OTransition: 'oTransitionEnd', 4629 transition: 'transitionend' 4630 } 4631 }, 4632 animation: { 4633 end: { 4634 WebkitAnimation: 'webkitAnimationEnd', 4635 MozAnimation: 'animationend', 4636 OAnimation: 'oAnimationEnd', 4637 animation: 'animationend' 4638 } 4639 } 4640 }, 4641 tests = { 4642 csstransforms: function() { 4643 return !!test('transform'); 4644 }, 4645 csstransforms3d: function() { 4646 return !!test('perspective'); 4647 }, 4648 csstransitions: function() { 4649 return !!test('transition'); 4650 }, 4651 cssanimations: function() { 4652 return !!test('animation'); 4653 } 4654 }; 4655 4656 function test(property, prefixed) { 4657 var result = false, 4658 upper = property.charAt(0).toUpperCase() + property.slice(1); 4659 4660 $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) { 4661 if (style[property] !== undefined) { 4662 result = prefixed ? property : true; 4663 return false;
4664 } 4665 }); 4666 4667 return result; 4668 } 4669 4670 function prefixed(property) { 4671 return test(property, true); 4672 } 4673 4674 if (tests.csstransitions()) { 4675 /* jshint -W053 */ 4676 $.support.transition = new String(prefixed('transition')) 4677 $.support.transition.end = events.transition.end[ $.support.transition ]; 4678 } 4679 4680 if (tests.cssanimations()) { 4681 /* jshint -W053 */ 4682 $.support.animation = new String(prefixed('animation')) 4683 $.support.animation.end = events.animation.end[ $.support.animation ]; 4684 } 4685 4686 if (tests.csstransforms()) { 4687 /* jshint -W053 */ 4688 $.support.transform = new String(prefixed('transform')); 4689 $.support.transform3d = tests.csstransforms3d(); 4690 } 4691 4692})(window.Zepto || window.jQuery, window, document); 4693 4694 4695/*! 4696* jquery.counterup.js 1.0 4697* 4698* Copyright 2013, Benjamin Intal http://gambit.ph @bfintal 4699* Released under the GPL v2 License 4700* 4701* Date: Nov 26, 2013 4702*/ 4703(function( $ ){ 4704 "use strict"; 4705 4706 $.fn.counterUp = function( options ) { 4707 4708 // Defaults 4709 var settings = $.extend({ 4710 'time': 400, 4711 'delay': 10 4712 }, options); 4713 4714 return this.each(function(){ 4715 4716 // Store the object 4717 var $this = $(this); 4718 var $settings = settings; 4719 4720 var counterUpper = function() { 4721 var nums = []; 4722 var divisions = $settings.time / $settings.delay; 4723 var num = $this.text(); 4724 var isComma = /[0-9]+,[0-9]+/.test(num); 4725 num = num.replace(/,/g, ''); 4726 var isInt = /^[0-9]+$/.test(num); 4727 var isFloat = /^[0-9]+\.[0-9]+$/.test(num); 4728 var decimalPlaces = isFloat ? (num.split('.')[1] || []).length : 0; 4729 4730 // Generate list of incremental numbers to display 4731 for (var i = divisions; i >= 1; i--) { 4732 4733 // Preserve as int if input was int 4734 var newNum = parseInt(num / divisions * i); 4735 4736 // Preserve float if input was float 4737 if (isFloat) { 4738 newNum = parseFloat(num / divisions * i).toFixed(decimalPlaces); 4739 } 4740 4741 // Preserve commas if input had commas 4742 if (isComma) { 4743 while (/(\d+)(\d{3})/.test(newNum.toString())) { 4744 newNum = newNum.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2'); 4745 } 4746 } 4747 4748 nums.unshift(newNum); 4749 } 4750 4751 $this.data('counterup-nums', nums); 4752 $this.text('0'); 4753 4754 // Updates the number until we're done 4755 var f = function() { 4756 $this.text($this.data('counterup-nums').shift()); 4757 if ($this.data('counterup-nums').length) { 4758 setTimeout($this.data('counterup-func'), $settings.delay); 4759 } else { 4760 delete $this.data('counterup-nums'); 4761 $this.data('counterup-nums', null); 4762 $this.data('counterup-func', null); 4763 } 4764 }; 4765 $this.data('counterup-func', f); 4766 4767 // Start the count up 4768 setTimeout($this.data('counterup-func'), $settings.delay); 4769 }; 4770 4771 // Perform counts when the element gets into view 4772 $this.waypoint(counterUpper, { offset: '100%', triggerOnce: true }); 4773 }); 4774 4775 }; 4776 4777})( jQuery ); 4778 4779 4780 4781 4782/*! WOW - v1.1.3 - 2016-05-06 4783* Copyright (c) 2016 Matthieu Aussaguel;*/ 4784 4785(function() { 4786 var a, b, c, d, e, f = function(a, b) { 4787 return function() { 4788 return a.apply(b, arguments) 4789 } 4790 }, 4791 g = [].indexOf || function(a) { 4792 for (var b = 0, c = this.length; c > b; b++) 4793 if (b in this && this[b] === a) return b; 4794 return -1 4795 }; 4796 b = function() { 4797 function a() {} 4798 return a.prototype.extend = function(a, b) { 4799 var c, d; 4800 for (c in b) d = b[c], null == a[c] && (a[c] = d); 4801 return a 4802 }, a.prototype.isMobile = function(a) { 4803 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a) 4804 }, a.prototype.createEvent = function(a, b, c, d) { 4805 var e; 4806 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 4807 }, a.prototype.emitEvent = function(a, b) { 4808 return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on"
vendor: 10,154 bytes, lines 4808-4967
4808+ b]() : void 0 4809 }, a.prototype.addEvent = function(a, b, c) { 4810 return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c 4811 }, a.prototype.removeEvent = function(a, b, c) { 4812 return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b] 4813 }, a.prototype.innerHeight = function() { 4814 return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight 4815 }, a 4816 }(), c = this.WeakMap || this.MozWeakMap || (c = function() { 4817 function a() { 4818 this.keys = [], this.values = [] 4819 } 4820 return a.prototype.get = function(a) { 4821 var b, c, d, e, f; 4822 for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d) 4823 if (c = f[b], c === a) return this.values[b] 4824 }, a.prototype.set = function(a, b) { 4825 var c, d, e, f, g; 4826 for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e) 4827 if (d = g[c], d === a) return void(this.values[c] = b); 4828 return this.keys.push(a), this.values.push(b) 4829 }, a 4830 }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() { 4831 function a() { 4832 "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.") 4833 } 4834 return a.notSupported = !0, a.prototype.observe = function() {}, a 4835 }()), d = this.getComputedStyle || function(a, b) { 4836 return this.getPropertyValue = function(b) { 4837 var c; 4838 return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function(a, b) { 4839 return b.toUpperCase() 4840 }), (null != (c = a.currentStyle) ? c[b] : void 0) || null 4841 }, this 4842 }, e = /(\-([a-z]){1})/g, this.WOW = function() { 4843 function e(a) { 4844 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) 4845 } 4846 return e.prototype.defaults = { 4847 boxClass: "wow", 4848 animateClass: "animated", 4849 offset: 0, 4850 mobile: !0, 4851 live: !0, 4852 callback: null, 4853 scrollContainer: null 4854 }, e.prototype.init = function() { 4855 var a; 4856 return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = [] 4857 }, e.prototype.start = function() { 4858 var b, c, d, e; 4859 if (this.stopped = !1, this.boxes = function() { 4860 var a, c, d, e; 4861 for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 4862 return e 4863 }.call(this), this.all = function() { 4864 var a, c, d, e; 4865 for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 4866 return e 4867 }.call(this), this.boxes.length) 4868 if (this.disabled()) this.resetStyle(); 4869 else 4870 for (e = this.boxes, c = 0, d = e.length; d > c; c++) b = e[c], this.applyStyle(b, !0); 4871 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) { 4872 return function(b) { 4873 var c, d, e, f, g; 4874 for (g = [], c = 0, d = b.length; d > c; c++) f = b[c], g.push(function() { 4875 var a, b, c, d; 4876 for (c = f.addedNodes || [], d = [], a = 0, b = c.length; b > a; a++) e = c[a], d.push(this.doSync(e)); 4877 return d 4878 }.call(a)); 4879 return g 4880 } 4881 }(this)).observe(document.body, { 4882 childList: !0, 4883 subtree: !0 4884 }) : void 0 4885 }, e.prototype.stop = function() { 4886 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 4887 }, e.prototype.sync = function(b) { 4888 return a.notSupported ? this.doSync(this.element) : void 0 4889 }, e.prototype.doSync = function(a) { 4890 var b, c, d, e, f; 4891 if (null == a && (a = this.element), 1 === a.nodeType) { 4892 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); 4893 return f 4894 } 4895 }, e.prototype.show = function(a) { 4896 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 4897 }, e.prototype.applyStyle = function(a, b) { 4898 var c, d, e; 4899 return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function(f) { 4900 return function() { 4901 return f.customStyle(a, b, d, c, e) 4902 } 4903 }(this)) 4904 }, e.prototype.animate = function() { 4905 return "requestAnimationFrame" in window ? function(a) { 4906 return window.requestAnimationFrame(a) 4907 } : function(a) { 4908 return a() 4909 } 4910 }(), e.prototype.resetStyle = function() { 4911 var a, b, c, d, e; 4912 for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], e.push(a.style.visibility = "visible"); 4913 return e 4914 }, e.prototype.resetAnimation = function(a) { 4915 var b; 4916 return a.type.toLowerCase().indexOf("animationend") >= 0 ? (b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, "").trim()) : void 0 4917 }, e.prototype.customStyle = function(a, b, c, d, e) { 4918 return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, { 4919 animationDuration: c 4920 }), d && this.vendorSet(a.style, { 4921 animationDelay: d 4922 }), e && this.vendorSet(a.style, { 4923 animationIterationCount: e 4924 }), this.vendorSet(a.style, { 4925 animationName: b ? "none" : this.cachedAnimationName(a) 4926 }), a 4927 }, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function(a, b) { 4928 var c, d, e, f; 4929 d = []; 4930 for (c in b) e = b[c], a["" + c] = e, d.push(function() { 4931 var b, d, g, h; 4932 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); 4933 return h 4934 }.call(this)); 4935 return d 4936 }, e.prototype.vendorCSS = function(a, b) { 4937 var c, e, f, g, h, i; 4938 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); 4939 return g 4940 }, e.prototype.animationName = function(a) { 4941 var b; 4942 try { 4943 b = this.vendorCSS(a, "animation-name").cssText 4944 } catch (c) { 4945 b = d(a).getPropertyValue("animation-name") 4946 } 4947 return "none" === b ? "" : b 4948 }, e.prototype.cacheAnimationName = function(a) { 4949 return this.animationNameCache.set(a, this.animationName(a)) 4950 }, e.prototype.cachedAnimationName = function(a) { 4951 return this.animationNameCache.get(a) 4952 }, e.prototype.scrollHandler = function() { 4953 return this.scrolled = !0 4954 }, e.prototype.scrollCallback = function() { 4955 var a; 4956 return !this.scrolled || (this.scrolled = !1, this.boxes = function() { 4957 var b, c, d, e; 4958 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)); 4959 return e 4960 }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop() 4961 }, e.prototype.offsetTop = function(a) { 4962 for (var b; void 0 === a.offsetTop;) a = a.parentNode; 4963 for (b = a.offsetTop; a = a.offsetParent;) b += a.offsetTop; 4964 return b 4965 }, e.prototype.isVisible = function(a) { 4966 var b, c, d, e, f; 4967 return c = a.getAttribute("data-wow-offset") || this.config.offset, f = this.config.scrollC
4967ontainer && 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 4968 }, e.prototype.util = function() { 4969 return null != this._util ? this._util : this._util = new b 4970 }, e.prototype.disabled = function() { 4971 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 4972 }, e 4973 }() 4974}).call(this); 4975 4976 4977/*! 4978 * VERSION: 0.1.13 4979 * DATE: 2018-08-27 4980 * UPDATES AND DOCS AT: http://greensock.com/jquery-gsap-plugin/ 4981 * 4982 * Requires TweenLite version 1.8.0 or higher and CSSPlugin. 4983 * 4984 * @license Copyright (c) 2013-2018, GreenSock. All rights reserved. 4985 * This work is subject to the terms at http://greensock.com/standard-license or for 4986 * Club GreenSock members, the software agreement that was issued with your membership. 4987 * 4988 * @author: Jack Doyle, [email protected] 4989 */ 4990(function($) { 4991 "use strict"; 4992 4993 var _animate = $.fn.animate, 4994 _stop = $.fn.stop, 4995 _enabled = true, 4996 TweenLite, CSSPlugin, _warned, 4997 _copy = function(o) { 4998 var copy = {}, 4999 p; 5000 for (p in o) { 5001 copy[p] = o[p]; 5002 } 5003 return copy; 5004 }, 5005 _reserved = {overwrite:1, delay:1, useFrames:1, runBackwards:1, easeParams:1, yoyo:1, immediateRender:1, repeat:1, repeatDelay:1, autoCSS:1}, 5006 _defaultLegacyProps = ",scrollTop,scrollLeft,show,hide,toggle,", 5007 _legacyProps = _defaultLegacyProps, 5008 _copyCriticalReserved = function(main, sub) { 5009 for (var p in _reserved) { 5010 if (_reserved[p] && main[p] !== undefined) { 5011 sub[p] = main[p]; 5012 } 5013 } 5014 }, 5015 _createEase = function(ease) { 5016 return function(p) { 5017 return ease.getRatio(p); 5018 }; 5019 }, 5020 _easeMap = {}, 5021 _init = function() { 5022 var globals = window.GreenSockGlobals || window, 5023 p; 5024 TweenLite = globals.TweenMax || globals.TweenLite; //we prioritize TweenMax if it's loaded so that we can accommodate special features like repeat, yoyo, repeatDelay, etc. 5025 if (TweenLite) { 5026 globals = globals.com.greensock; 5027 CSSPlugin = globals.plugins.CSSPlugin; 5028 _easeMap = globals.easing.Ease.map || {}; //don't do just window.Ease or window.CSSPlugin because some other libraries like EaselJS/TweenJS use those same names and there could be a collision. 5029 } 5030 if (!TweenLite || !CSSPlugin) { 5031 TweenLite = null; 5032 if (!_warned && window.console) { 5033 window.console.log("The jquery.gsap.js plugin requires the TweenMax (or at least TweenLite and CSSPlugin) JavaScript file(s)."); 5034 _warned = true; 5035 } 5036 return; 5037 } 5038 if ($.easing) { 5039 for (p in _easeMap) { 5040 $.easing[p] = _createEase(_easeMap[p]); 5041 } 5042 _init = false; 5043 } 5044 }; 5045 5046 $.fn.animate = function(prop, speed, easing, callback) { 5047 prop = prop || {}; 5048 if (_init) { 5049 _init(); 5050 if (!TweenLite || !CSSPlugin) { 5051 return _animate.call(this, prop, speed, easing, callback); 5052 } 5053 } 5054 if (!_enabled || prop.skipGSAP === true || (typeof(speed) === "object" && typeof(speed.step) === "function")) { //we don't support the "step" feature because it's too costly performance-wise, so fall back to the native animate() call if we sense one. Same with scrollTop and scrollLeft which are handled in a special way in jQuery. 5055 return _animate.call(this, prop, speed, easing, callback); 5056 } 5057 var config = $.speed(speed, easing, callback), 5058 vars = {ease:(_easeMap[config.easing] || ((config.easing === false) ? _easeMap.linear : _easeMap.swing))}, 5059 obj = this, 5060 specEasing = (typeof(speed) === "object") ? speed.specialEasing : null, 5061 val, p, doAnimation, specEasingVars; 5062 5063 for (p in prop) { 5064 val = prop[p]; 5065 if (val instanceof Array && _easeMap[val[1]]) { 5066 specEasing = specEasing || {}; 5067 specEasing[p] = val[1]; 5068 val = val[0]; 5069 } 5070 if (val === "show" || val === "hide" || val === "toggle" || (_legacyProps.indexOf(p) !== -1 && _legacyProps.indexOf("," + p + ",") !== -1)) { //note: slideUp() and slideDown() pass in opacity:"show" or opacity:"hide" 5071 return _animate.call(this, prop, speed, easing, callback); 5072 } else { 5073 vars[(p.indexOf("-") === -1) ? p : $.camelCase(p)] = val; 5074 } 5075 } 5076 5077 if (specEasing) { 5078 vars = _copy(vars); 5079 specEasingVars = []; 5080 for (p in specEasing) { 5081 val = specEasingVars[specEasingVars.length] = {}; 5082 _copyCriticalReserved(vars, val); 5083 val.ease = (_easeMap[specEasing[p]] || vars.ease); 5084 if (p.indexOf("-") !== -1) { 5085 p = $.camelCase(p); 5086 } 5087 val[p] = vars[p]; 5088 delete vars[p]; 5089 } 5090 if (specEasingVars.length === 0) { 5091 specEasingVars = null; 5092 } 5093 } 5094 5095 doAnimation = function(next) { 5096 var varsCopy = _copy(vars), 5097 i; 5098 if (specEasingVars) { 5099 i = specEasingVars.length; 5100 while (--i > -1) { 5101 TweenLite.to(this, $.fx.off ? 0 : config.duration / 1000, specEasingVars[i]); 5102 } 5103 } 5104 varsCopy.onComplete = function() { 5105 if (next) { 5106 next(); 5107 } else if (config.old) { 5108 $(this).each(config.old); 5109 } 5110 }; 5111 TweenLite.to(this, $.fx.off ? 0 : config.duration / 1000, varsCopy); 5112 }; 5113 5114 if (config.queue !== false) { 5115 obj.queue(config.queue, doAnimation); //note: the queued function will get called once for each element in the jQuery collection. 5116 if (typeof(config.old) === "function") { 5117 $(obj[obj.length-1]).queue(config.queue, function(next) { 5118 config.old.call(obj); 5119 next(); 5120 }); 5121 } 5122 } else { 5123 doAnimation.call(obj); 5124 } 5125 5126 return obj; 5127 }; 5128 5129 5130 $.fn.stop = function(clearQueue, gotoEnd) { 5131 _stop.call(this, clearQueue, gotoEnd); 5132 if (TweenLite) { 5133 if (gotoEnd) { 5134 var tweens = TweenLite.getTweensOf(this), 5135 i = tweens.length, 5136 progress; 5137 while (--i > -1) { 5138 progress = tweens[i].totalTime() / tweens[i].totalDuration(); 5139 if (progress > 0 && progress < 1) { 5140 tweens[i].seek(tweens[i].totalDuration()); 5141 } 5142 } 5143 } 5144 TweenLite.killTweensOf(this); 5145 } 5146 return this; 5147 }; 5148 5149 $.gsap = { 5150 enabled:function(value) { 5151 _enabled = value; 5152 }, 5153 version:"0.1.13", 5154 legacyProps:function(value) { 5155 _legacyProps = _defaultLegacyProps + value + ","; 5156 } 5157 }; 5158 5159}(jQuery)); 5160/*! 5161 * VERSION: 1.20.4 5162 * DATE: 2018-02-15 5163 * UPDATES AND DOCS AT: http://greensock.com 5164 * 5165 * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin 5166 * 5167 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved. 5168 * This work is subject to the terms at http://greensock.com/standard-license or for
vendor: 22,646 bytes, lines 5169-5173
5169 * Club GreenSock members, the software agreement that was issued with your membership. 5170 * 5171 * @author: Jack Doyle, [email protected] 5172 **/ 5173var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(a,b,c){var d=function(a){var b,c=[],d=a.length;for(b=0;b!==d;c.push(a[b++]));return c},e=function(a,b,c){var d,e,f=a.cycle;for(d in f)e=f[d],a[d]="function"==typeof e?e(c,b[c]):e[c%e.length];delete a.cycle},f=function(a,b,d){c.call(this,a,b,d),this._cycle=0,this._yoyo=this.vars.yoyo===!0||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._repeat&&this._uncache(!0),this.render=f.prototype.render},g=1e-10,h=c._internals,i=h.isSelector,j=h.isArray,k=f.prototype=c.to({},.1,{}),l=[];f.version="1.20.4",k.constructor=f,k.kill()._gc=!1,f.killTweensOf=f.killDelayedCallsTo=c.killTweensOf,f.getTweensOf=c.getTweensOf,f.lagSmoothing=c.lagSmoothing,f.ticker=c.ticker,f.render=c.render,k.invalidate=function(){return this._yoyo=this.vars.yoyo===!0||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._yoyoEase=null,this._uncache(!0),c.prototype.invalidate.call(this)},k.updateTo=function(a,b){var d,e=this.ratio,f=this.vars.immediateRender||a.immediateRender;b&&this._startTime<this._timeline._time&&(this._startTime=this._timeline._time,this._uncache(!1),this._gc?this._enabled(!0,!1):this._timeline.insert(this,this._startTime-this._delay));for(d in a)this.vars[d]=a[d];if(this._initted||f)if(b)this._initted=!1,f&&this.render(0,!0,!0);else if(this._gc&&this._enabled(!0,!1),this._notifyPluginsOfEnabled&&this._firstPT&&c._onPluginEvent("_onDisable",this),this._time/this._duration>.998){var g=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(g,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||f)for(var h,i=1/(1-e),j=this._firstPT;j;)h=j.s+j.c,j.c*=i,j.s=h-j.c,j=j._next;return this},k.render=function(a,b,d){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var e,f,i,j,k,l,m,n,o,p=this._dirty?this.totalDuration():this._totalDuration,q=this._time,r=this._totalTime,s=this._cycle,t=this._duration,u=this._rawPrevTime;if(a>=p-1e-7&&a>=0?(this._totalTime=p,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=t,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(e=!0,f="onComplete",d=d||this._timeline.autoRemoveChildren),0===t&&(this._initted||!this.vars.lazy||d)&&(this._startTime===this._timeline._duration&&(a=0),(0>u||0>=a&&a>=-1e-7||u===g&&"isPause"!==this.data)&&u!==a&&(d=!0,u>g&&(f="onReverseComplete")),this._rawPrevTime=n=!b||a||u===a?a:g)):1e-7>a?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==r||0===t&&u>0)&&(f="onReverseComplete",e=this._reversed),0>a&&(this._active=!1,0===t&&(this._initted||!this.vars.lazy||d)&&(u>=0&&(d=!0),this._rawPrevTime=n=!b||a||u===a?a:g)),this._initted||(d=!0)):(this._totalTime=this._time=a,0!==this._repeat&&(j=t+this._repeatDelay,this._cycle=this._totalTime/j>>0,0!==this._cycle&&this._cycle===this._totalTime/j&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*j,this._yoyo&&0!==(1&this._cycle)&&(this._time=t-this._time,o=this._yoyoEase||this.vars.yoyoEase,o&&(this._yoyoEase||(o!==!0||this._initted?this._yoyoEase=o=o===!0?this._ease:o instanceof Ease?o:Ease.map[o]:(o=this.vars.ease,this._yoyoEase=o=o?o instanceof Ease?o:"function"==typeof o?new Ease(o,this.vars.easeParams):Ease.map[o]||c.defaultEase:c.defaultEase)),this.ratio=o?1-o.getRatio((t-this._time)/t):0)),this._time>t?this._time=t:this._time<0&&(this._time=0)),this._easeType&&!o?(k=this._time/t,l=this._easeType,m=this._easePower,(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===m?k*=k:2===m?k*=k*k:3===m?k*=k*k*k:4===m&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:this._time/t<.5?this.ratio=k/2:this.ratio=1-k/2):o||(this.ratio=this._ease.getRatio(this._time/t))),q===this._time&&!d&&s===this._cycle)return void(r!==this._totalTime&&this._onUpdate&&(b||this._callback("onUpdate")));if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!d&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=q,this._totalTime=r,this._rawPrevTime=u,this._cycle=s,h.lazyTweens.push(this),void(this._lazy=[a,b]);!this._time||e||o?e&&this._ease._calcEnd&&!o&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/t)}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==q&&a>=0&&(this._active=!0),0===r&&(2===this._initted&&a>0&&this._init(),this._startAt&&(a>=0?this._startAt.render(a,!0,d):f||(f="_dummyGS")),this.vars.onStart&&(0!==this._totalTime||0===t)&&(b||this._callback("onStart"))),i=this._firstPT;i;)i.f?i.t[i.p](i.c*this.ratio+i.s):i.t[i.p]=i.c*this.ratio+i.s,i=i._next;this._onUpdate&&(0>a&&this._startAt&&this._startTime&&this._startAt.render(a,!0,d),b||(this._totalTime!==r||f)&&this._callback("onUpdate")),this._cycle!==s&&(b||this._gc||this.vars.onRepeat&&this._callback("onRepeat")),f&&(!this._gc||d)&&(0>a&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(a,!0,d),e&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[f]&&this._callback(f),0===t&&this._rawPrevTime===g&&n!==g&&(this._rawPrevTime=0))},f.to=function(a,b,c){return new f(a,b,c)},f.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new f(a,b,c)},f.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new f(a,b,d)},f.staggerTo=f.allTo=function(a,b,g,h,k,m,n){h=h||0;var o,p,q,r,s=0,t=[],u=function(){g.onComplete&&g.onComplete.apply(g.onCompleteScope||this,arguments),k.apply(n||g.callbackScope||this,m||l)},v=g.cycle,w=g.startAt&&g.startAt.cycle;for(j(a)||("string"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a))),a=a||[],0>h&&(a=d(a),a.reverse(),h*=-1),o=a.length-1,q=0;o>=q;q++){p={};for(r in g)p[r]=g[r];if(v&&(e(p,a,q),null!=p.duration&&(b=p.duration,delete p.duration)),w){w=p.startAt={};for(r in g.startAt)w[r]=g.startAt[r];e(p.startAt,a,q)}p.delay=s+(p.delay||0),q===o&&k&&(p.onComplete=u),t[q]=new f(a[q],b,p),s+=h}return t},f.staggerFrom=f.allFrom=function(a,b,c,d,e,g,h){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,f.staggerTo(a,b,c,d,e,g,h)},f.staggerFromTo=f.allFromTo=function(a,b,c,d,e,g,h,i){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,f.staggerTo(a,b,d,e,g,h,i)},f.delayedCall=function(a,b,c,d,e){return new f(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,useFrames:e,overwrite:0})},f.set=function(a,b){return new f(a,0,b)},f.isTweening=function(a){return c.getTweensOf(a,!0).length>0};var m=function(a,b){for(var d=[],e=0,f=a._first;f;)f instanceof c?d[e++]=f:(b&&(d[e++]=f),d=d.concat(m(f,b)),e=d.length),f=f._next;return d},n=f.getAllTweens=function(b){return m(a._rootTimeline,b).concat(m(a._rootFramesTimeline,b))};f.killAll=function(a,c,d,e){null==c&&(c=!0),null==d&&(d=!0);var f,g,h,i=n(0!=e),j=i.length,k=c&&d&&e;for(h=0;j>h;h++)g=i[h],(k||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&(a?g.totalTime(g._reversed?0:g.totalDuration()):g._enabled(!1,!1))},f.killChildTweensOf=function(a,b){if(null!=a){var e,g,k,l,m,n=h.tweenLookup;if("string"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a)),j(a))for(l=a.length;--l>-1;)f.killChildTweensOf(a[l],b);else{e=[];for(k in n)for(g=n[k].target.parentNode;g;)g===a&&(e=e.concat(n[k].tweens)),g=g.parentNode;for(m=e.length,l=0;m>l;l++)b&&e[l].totalTime(e[l].totalDuration()),e[l]._enabled(!1,!1)}}};var o=function(a,c,d,e){c=c!==!1,d=d!==!1,e=e!==!1;for(var f,g,h=n(e),i=c&&d&&e,j=h.length;--j>-1;)g=h[j],(i||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&g.paused(a)};return f.pauseAll=function(a,b,c){o(!0,a,b,c)},f.resumeAll=function(a,b,c){o(!1,a,b,c)},f.globalTimeScale=function(b){var d=a._rootTimeline,e=c.ticker.time;return arguments.length?(b=b||g,d._startTime=e-(e-d._startTime)*d._timeScale/b,d=a._rootFramesTimeline,e=c.ticker.frame,d._startTime=e-(e-d._startTime)*d._timeScale/b,d._timeScale=a._rootTimeline._timeScale=b,b):d._timeScale},k.progress=function(a,b){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-a:a)+this._cycle*(this._duration+this._repeatDelay),b):this._time/this.duration()},k.totalProgress=function(a,b){return arguments.length?this.totalTime(this.totalDuration()*a,b):this._totalTime/this.totalDuration()},k.time=function(a,b){return arguments.length?(this._dirty&&this.totalDuration(),a>this._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.duration=function(b){return arguments.length?a.prototype.duration.call(this,b):this._duration},k.totalDuration=function(a){return arguments.length?-1===this._repeat?this:this.duration((a-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},f},!0),_gsScope._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(a,b,c){var d=function(a){b.call(this,a),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var c,d,e=this.vars;for(d in e)c=e[d],i(c)&&-1!==c.join("").indexOf("{self}")&&(e[d]=this._swapSelfInParams(c));i(e.tweens)&&this.add(e.tweens,0,e.align,e.stagger)},e=1e-10,f=c._internals,g=d._internals={},h=f.isSelector,i=f.isArray,j=f.lazyTweens,k=f.lazyRender,l=_gsScope._gsDefine.globals,m=function(a){var b,c={};for(b in a)c[b]=a[b];return c},n=function(a,b,c){var d,e,f=a.cycle;for(d in f)e=f[d],a[d]="function"==typeof e?e(c,b[c]):e[c%e.length];delete a.cycle},o=g.pauseCallback=function(){},p=function(a){var b,c=[],d=a.length;for(b=0;b!==d;c.push(a[b++]));return c},q=d.prototype=new b;return d.version="1.20.4",q.constructor=d,q.kill()._gc=q._forcingPlayhead=q._hasPause=!1,q.to=function(a,b,d,e){var f=d.repeat&&l.TweenMax||c;return b?this.add(new f(a,b,d),e):this.set(a,d,e)},q.from=function(a,b,d,e){return this.add((d.repeat&&l.TweenMax||c).from(a,b,d),e)},q.fromTo=function(a,b,d,e,f){var g=e.repeat&&l.TweenMax||c;return b?this.add(g.fromTo(a,b,d,e),f):this.set(a,e,f)},q.staggerTo=function(a,b,e,f,g,i,j,k){var l,o,q=new d({onComplete:i,onCompleteParams:j,callbackScope:k,smoothChildTiming:this.smoothChildTiming}),r=e.cycle;for("string"==typeof a&&(a=c.selector(a)||a),a=a||[],h(a)&&(a=p(a)),f=f||0,0>f&&(a=p(a),a.reverse(),f*=-1),o=0;o<a.length;o++)l=m(e),l.startAt&&(l.startAt=m(l.startAt),l.startAt.cycle&&n(l.startAt,a,o)),r&&(n(l,a,o),null!=l.duration&&(b=l.duration,delete l.duration)),q.to(a[o],b,l,o*f);return this.add(q,g)},q.staggerFrom=function(a,b,c,d,e,f,g,h){return c.immediateRender=0!=c.immediateRender,c.runBackwards=!0,this.staggerTo(a,b,c,d,e,f,g,h)},q.staggerFromTo=function(a,b,c,d,e,f,g,h,i){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,this.staggerTo(a,b,d,e,f,g,h,i)},q.call=function(a,b,d,e){return this.add(c.delayedCall(0,a,b,d),e)},q.set=function(a,b,d){return d=this._parseTimeOrLabel(d,0,!0),null==b.immediateRender&&(b.immediateRender=d===this._time&&!this._paused),this.add(new c(a,0,b),d)},d.exportRoot=function(a,b){a=a||{},null==a.smoothChildTiming&&(a.smoothChildTiming=!0);var e,f,g,h,i=new d(a),j=i._timeline;for(null==b&&(b=!0),j._remove(i,!0),i._startTime=0,i._rawPrevTime=i._time=i._totalTime=j._time,g=j._first;g;)h=g._next,b&&g instanceof c&&g.target===g.vars.onComplete||(f=g._startTime-g._delay,0>f&&(e=1),i.add(g,f)),g=h;return j.add(i,0),e&&i.totalDuration(),i},q.add=function(e,f,g,h){var j,k,l,m,n,o;if("number"!=typeof f&&(f=this._parseTimeOrLabel(f,0,!0,e)),!(e instanceof a)){if(e instanceof Array||e&&e.push&&i(e)){for(g=g||"normal",h=h||0,j=f,k=e.length,l=0;k>l;l++)i(m=e[l])&&(m=new d({tweens:m})),this.add(m,j),"string"!=typeof m&&"function"!=typeof m&&("sequence"===g?j=m._startTime+m.totalDuration()/m._timeScale:"start"===g&&(m._startTime-=m.delay())),j+=h;return this._uncache(!0)}if("string"==typeof e)return this.addLabel(e,f);if("function"!=typeof e)throw"Cannot add "+e+" into the timeline; it is not a tween, timeline, function, or string.";e=c.delayedCall(0,e)}if(b.prototype.add.call(this,e,f),e._time&&e.render((this.rawTime()-e._startTime)*e._timeScale,!1,!1),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(n=this,o=n.rawTime()>e._startTime;n._timeline;)o&&n._timeline.smoothChildTiming?n.totalTime(n._totalTime,!0):n._gc&&n._enabled(!0,!1),n=n._timeline;return this},q.remove=function(b){if(b instanceof a){this._remove(b,!1);var c=b._timeline=b.vars.useFrames?a._rootFramesTimeline:a._rootTimeline;return b._startTime=(b._paused?b._pauseTime:c._time)-(b._reversed?b.totalDuration()-b._totalTime:b._totalTime)/b._timeScale,this}if(b instanceof Array||b&&b.push&&i(b)){for(var d=b.length;--d>-1;)this.remove(b[d]);return this}return"string"==typeof b?this.removeLabel(b):this.kill(null,b)},q._remove=function(a,c){b.prototype._remove.call(this,a,c);var d=this._last;return d?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},q.append=function(a,b){return this.add(a,this._parseTimeOrLabel(null,b,!0,a))},q.insert=q.insertMultiple=function(a,b,c,d){return this.add(a,b||0,c,d)},q.appendMultiple=function(a,b,c,d){return this.add(a,this._parseTimeOrLabel(null,b,!0,a),c,d)},q.addLabel=function(a,b){return this._labels[a]=this._parseTimeOrLabel(b),this},q.addPause=function(a,b,d,e){var f=c.delayedCall(0,o,d,e||this);return f.vars.onComplete=f.vars.onReverseComplete=b,f.data="isPause",this._hasPause=!0,this.add(f,a)},q.removeLabel=function(a){return delete this._labels[a],this},q.getLabelTime=function(a){return null!=this._labels[a]?this._labels[a]:-1},q._parseTimeOrLabel=function(b,c,d,e){var f,g;if(e instanceof a&&e.timeline===this)this.remove(e);else if(e&&(e instanceof Array||e.push&&i(e)))for(g=e.length;--g>-1;)e[g]instanceof a&&e[g].timeline===this&&this.remove(e[g]);if(f="number"!=typeof b||c?this.duration()>99999999999?this.recent().endTime(!1):this._duration:0,"string"==typeof c)return this._parseTimeOrLabel(c,d&&"number"==typeof b&&null==this._labels[c]?b-f:0,d);if(c=c||0,"string"!=typeof b||!isNaN(b)&&null==this._labels[b])null==b&&(b=f);else{if(g=b.indexOf("="),-1===g)return null==this._labels[b]?d?this._labels[b]=f+c:c:this._labels[b]+c;c=parseInt(b.charAt(g-1)+"1",10)*Number(b.substr(g+1)),b=g>1?this._parseTimeOrLabel(b.substr(0,g-1),0,d):f}return Number(b)+c},q.seek=function(a,b){return this.totalTime("number"==typeof a?a:this._parseTimeOrLabel(a),b!==!1)},q.stop=function(){return this.paused(!0)},q.gotoAndPlay=function(a,b){return this.play(a,b)},q.gotoAndStop=function(a,b){return this.pause(a,b)},q.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,g,h,i,l,m,n=this._time,o=this._dirty?this.totalDuration():this._totalDuration,p=this._startTime,q=this._timeScale,r=this._paused;if(n!==this._time&&(a+=this._time-n),a>=o-1e-7&&a>=0)this._totalTime=this._time=o,this._reversed||this._hasPausedChild()||(f=!0,h="onComplete",i=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||this._rawPrevTime<0||this._rawPrevTime===e)&&this._rawPrevTime!==a&&this._first&&(i=!0,this._rawPrevTime>e&&(h="onReverseComplete"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,a=o+1e-4;else if(1e-7>a)if(this._totalTime=this._time=0,(0!==n||0===this._duration&&this._rawPrevTime!==e&&(this._rawPrevTime>0||0>a&&this._rawPrevTime>=0))&&(h="onReverseComplete",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(i=f=!0,h="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(i=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(i=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!b){if(a>=n)for(d=this._first;d&&d._startTime<=a&&!l;)d._duration||"isPause"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(l=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!l;)d._duration||"isPause"===d.data&&d._rawPrevTime>0&&(l=d),d=d._prev;l&&(this._time=a=l._startTime,this._totalTime=a+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=a}if(this._time!==n&&this._first||c||i||l){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==n&&a>0&&(this._active=!0),0===n&&this.vars.onStart&&(0===this._time&&this._duration||b||this._callback("onStart")),m=this._time,m>=n)for(d=this._first;d&&(g=d._next,m===this._time&&(!this._paused||r));)(d._active||d._startTime<=m&&!d._paused&&!d._gc)&&(l===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=g;else for(d=this._last;d&&(g=d._prev,m===this._time&&(!this._paused||r));){if(d._active||d._startTime<=n&&!d._paused&&!d._gc){if(l===d){for(l=d._prev;l&&l.endTime()>this._time;)l.render(l._reversed?l.totalDuration()-(a-l._startTime)*l._timeScale:(a-l._startTime)*l._timeScale,b,c),l=l._prev;l=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=g}this._onUpdate&&(b||(j.length&&k(),this._callback("onUpdate"))),h&&(this._gc||(p===this._startTime||q!==this._timeScale)&&(0===this._time||o>=this.totalDuration())&&(f&&(j.length&&k(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[h]&&this._callback(h)))}},q._hasPausedChild=function(){for(var a=this._first;a;){if(a._paused||a instanceof d&&a._hasPausedChild())return!0;a=a._next}return!1},q.getChildren=function(a,b,d,e){e=e||-9999999999;for(var f=[],g=this._first,h=0;g;)g._startTime<e||(g instanceof c?b!==!1&&(f[h++]=g):(d!==!1&&(f[h++]=g),a!==!1&&(f=f.concat(g.getChildren(!0,b,d)),h=f.length))),g=g._next;return f},q.getTweensOf=function(a,b){var d,e,f=this._gc,g=[],h=0;for(f&&this._enabled(!0,!0),d=c.getTweensOf(a),e=d.length;--e>-1;)(d[e].timeline===this||b&&this._contains(d[e]))&&(g[h++]=d[e]);return f&&this._enabled(!1,!0),g},q.recent=function(){return this._recent},q._contains=function(a){for(var b=a.timeline;b;){if(b===this)return!0;b=b.timeline}return!1},q.shiftChildren=function(a,b,c){c=c||0;for(var d,e=this._first,f=this._labels;e;)e._startTime>=c&&(e._startTime+=a),e=e._next;if(b)for(d in f)f[d]>=c&&(f[d]+=a);return this._uncache(!0)},q._kill=function(a,b){if(!a&&!b)return this._enabled(!1,!1);for(var c=b?this.getTweensOf(b):this.getChildren(!0,!0,!1),d=c.length,e=!1;--d>-1;)c[d]._kill(a,b)&&(e=!0);return e},q.clear=function(a){var b=this.getChildren(!1,!0,!0),c=b.length;for(this._time=this._totalTime=0;--c>-1;)b[c]._enabled(!1,!1);return a!==!1&&(this._labels={}),this._uncache(!0)},q.invalidate=function(){for(var b=this._first;b;)b.invalidate(),b=b._next;return a.prototype.invalidate.call(this)},q._enabled=function(a,c){if(a===this._gc)for(var d=this._first;d;)d._enabled(a,!0),d=d._next;return b.prototype._enabled.call(this,a,c)},q.totalTime=function(b,c,d){this._forcingPlayhead=!0;var e=a.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},q.duration=function(a){return arguments.length?(0!==this.duration()&&0!==a&&this.timeScale(this._duration/a),this):(this._dirty&&this.totalDuration(),this._duration)},q.totalDuration=function(a){if(!arguments.length){if(this._dirty){for(var b,c,d=0,e=this._last,f=999999999999;e;)b=e._prev,e._dirty&&e.totalDuration(),e._startTime>f&&this._sortChildren&&!e._paused&&!this._calculatingDuration?(this._calculatingDuration=1,this.add(e,e._startTime-e._delay),this._calculatingDuration=0):f=e._startTime,e._startTime<0&&!e._paused&&(d-=e._startTime,this._timeline.smoothChildTiming&&(this._startTime+=e._startTime/this._timeScale,this._time-=e._startTime,this._totalTime-=e._startTime,this._rawPrevTime-=e._startTime),this.shiftChildren(-e._startTime,!1,-9999999999),f=0),c=e._startTime+e._totalDuration/e._timeScale,c>d&&(d=c),e=b;this._duration=this._totalDuration=d,this._dirty=!1}return this._totalDuration}return a&&this.totalDuration()?this.timeScale(this._totalDuration/a):this},q.paused=function(b){if(!b)for(var c=this._first,d=this._time;c;)c._startTime===d&&"isPause"===c.data&&(c._rawPrevTime=0),c=c._next;return a.prototype.paused.apply(this,arguments)},q.usesFrames=function(){for(var b=this._timeline;b._timeline;)b=b._timeline;return b===a._rootFramesTimeline},q.rawTime=function(a){return a&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(a)-this._startTime)*this._timeScale},d},!0),_gsScope._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(a,b,c){var d=function(b){a.call(this,b),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},e=1e-10,f=b._internals,g=f.lazyTweens,h=f.lazyRender,i=_gsScope._gsDefine.globals,j=new c(null,null,1,0),k=d.prototype=new a;return k.constructor=d,k.kill()._gc=!1,d.version="1.20.4",k.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),a.prototype.invalidate.call(this)},k.addCallback=function(a,c,d,e){return this.add(b.delayedCall(0,a,d,e),
vendor: 7,345 bytes, line 5173
5173c)},k.removeCallback=function(a,b){if(a)if(null==b)this._kill(null,a);else for(var c=this.getTweensOf(a,!1),d=c.length,e=this._parseTimeOrLabel(b);--d>-1;)c[d]._startTime===e&&c[d]._enabled(!1,!1);return this},k.removePause=function(b){return this.removeCallback(a._internals.pauseCallback,b)},k.tweenTo=function(a,c){c=c||{};var d,e,f,g={ease:j,useFrames:this.usesFrames(),immediateRender:!1,lazy:!1},h=c.repeat&&i.TweenMax||b;for(e in c)g[e]=c[e];return g.time=this._parseTimeOrLabel(a),d=Math.abs(Number(g.time)-this._time)/this._timeScale||.001,f=new h(this,d,g),g.onStart=function(){f.target.paused(!0),f.vars.time===f.target.time()||d!==f.duration()||f.isFromTo||f.duration(Math.abs(f.vars.time-f.target.time())/f.target._timeScale).render(f.time(),!0,!0),c.onStart&&c.onStart.apply(c.onStartScope||c.callbackScope||f,c.onStartParams||[])},f},k.tweenFromTo=function(a,b,c){c=c||{},a=this._parseTimeOrLabel(a),c.startAt={onComplete:this.seek,onCompleteParams:[a],callbackScope:this},c.immediateRender=c.immediateRender!==!1;var d=this.tweenTo(b,c);return d.isFromTo=1,d.duration(Math.abs(d.vars.time-a)/this._timeScale||.001)},k.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,i,j,k,l,m,n,o=this._time,p=this._dirty?this.totalDuration():this._totalDuration,q=this._duration,r=this._totalTime,s=this._startTime,t=this._timeScale,u=this._rawPrevTime,v=this._paused,w=this._cycle;if(o!==this._time&&(a+=this._time-o),a>=p-1e-7&&a>=0)this._locked||(this._totalTime=p,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(f=!0,j="onComplete",k=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||0>u||u===e)&&u!==a&&this._first&&(k=!0,u>e&&(j="onReverseComplete"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,this._yoyo&&0!==(1&this._cycle)?this._time=a=0:(this._time=q,a=q+1e-4);else if(1e-7>a)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==o||0===q&&u!==e&&(u>0||0>a&&u>=0)&&!this._locked)&&(j="onReverseComplete",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(k=f=!0,j="onReverseComplete"):u>=0&&this._first&&(k=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=q||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(k=!0)}else if(0===q&&0>u&&(k=!0),this._time=this._rawPrevTime=a,this._locked||(this._totalTime=a,0!==this._repeat&&(l=q+this._repeatDelay,this._cycle=this._totalTime/l>>0,0!==this._cycle&&this._cycle===this._totalTime/l&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*l,this._yoyo&&0!==(1&this._cycle)&&(this._time=q-this._time),this._time>q?(this._time=q,a=q+1e-4):this._time<0?this._time=a=0:a=this._time)),this._hasPause&&!this._forcingPlayhead&&!b){if(a=this._time,a>=o||this._repeat&&w!==this._cycle)for(d=this._first;d&&d._startTime<=a&&!m;)d._duration||"isPause"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(m=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!m;)d._duration||"isPause"===d.data&&d._rawPrevTime>0&&(m=d),d=d._prev;m&&m._startTime<q&&(this._time=a=m._startTime,this._totalTime=a+this._cycle*(this._totalDuration+this._repeatDelay))}if(this._cycle!==w&&!this._locked){var x=this._yoyo&&0!==(1&w),y=x===(this._yoyo&&0!==(1&this._cycle)),z=this._totalTime,A=this._cycle,B=this._rawPrevTime,C=this._time;if(this._totalTime=w*q,this._cycle<w?x=!x:this._totalTime+=q,this._time=o,this._rawPrevTime=0===q?u-1e-4:u,this._cycle=w,this._locked=!0,o=x?0:q,this.render(o,b,0===q),b||this._gc||this.vars.onRepeat&&(this._cycle=A,this._locked=!1,this._callback("onRepeat")),o!==this._time)return;if(y&&(this._cycle=w,this._locked=!0,o=x?q+1e-4:-1e-4,this.render(o,!0,!1)),this._locked=!1,this._paused&&!v)return;this._time=C,this._totalTime=z,this._cycle=A,this._rawPrevTime=B}if(!(this._time!==o&&this._first||c||k||m))return void(r!==this._totalTime&&this._onUpdate&&(b||this._callback("onUpdate")));if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==r&&a>0&&(this._active=!0),0===r&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||b||this._callback("onStart")),n=this._time,n>=o)for(d=this._first;d&&(i=d._next,n===this._time&&(!this._paused||v));)(d._active||d._startTime<=this._time&&!d._paused&&!d._gc)&&(m===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=i;else for(d=this._last;d&&(i=d._prev,n===this._time&&(!this._paused||v));){if(d._active||d._startTime<=o&&!d._paused&&!d._gc){if(m===d){for(m=d._prev;m&&m.endTime()>this._time;)m.render(m._reversed?m.totalDuration()-(a-m._startTime)*m._timeScale:(a-m._startTime)*m._timeScale,b,c),m=m._prev;m=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=i}this._onUpdate&&(b||(g.length&&h(),this._callback("onUpdate"))),j&&(this._locked||this._gc||(s===this._startTime||t!==this._timeScale)&&(0===this._time||p>=this.totalDuration())&&(f&&(g.length&&h(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[j]&&this._callback(j)))},k.getActive=function(a,b,c){null==a&&(a=!0),null==b&&(b=!0),null==c&&(c=!1);var d,e,f=[],g=this.getChildren(a,b,c),h=0,i=g.length;for(d=0;i>d;d++)e=g[d],e.isActive()&&(f[h++]=e);return f},k.getLabelAfter=function(a){a||0!==a&&(a=this._time);var b,c=this.getLabelsArray(),d=c.length;for(b=0;d>b;b++)if(c[b].time>a)return c[b].name;return null},k.getLabelBefore=function(a){null==a&&(a=this._time);for(var b=this.getLabelsArray(),c=b.length;--c>-1;)if(b[c].time<a)return b[c].name;return null},k.getLabelsArray=function(){var a,b=[],c=0;for(a in this._labels)b[c++]={time:this._labels[a],name:a};return b.sort(function(a,b){return a.time-b.time}),b},k.invalidate=function(){return this._locked=!1,a.prototype.invalidate.call(this)},k.progress=function(a,b){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-a:a)+this._cycle*(this._duration+this._repeatDelay),b):this._time/this.duration()||0},k.totalProgress=function(a,b){return arguments.length?this.totalTime(this.totalDuration()*a,b):this._totalTime/this.totalDuration()||0},k.totalDuration=function(b){return arguments.length?-1!==this._repeat&&b?this.timeScale(this.totalDuration()/b):this:(this._dirty&&(a.prototype.totalDuration.call(this),this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},k.time=function(a,b){return arguments.length?(this._dirty&&this.totalDuration(),a>this._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},k.currentLabel=function(a){return arguments.length?this.seek(a,!0):this.getLabelBefore(this._time+1e-8
vendor: 3,486 bytes, lines 5173-5174
5173)},d},!0),function(){var a=180/Math.PI,b=[],c=[],d=[],e={},f=_gsScope._gsDefine.globals,g=function(a,b,c,d){c===d&&(c=d-(d-b)/1e6),a===b&&(b=a+(c-a)/1e6),this.a=a,this.b=b,this.c=c,this.d=d,this.da=d-a,this.ca=c-a,this.ba=b-a},h=",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",i=function(a,b,c,d){var e={a:a},f={},g={},h={c:d},i=(a+b)/2,j=(b+c)/2,k=(c+d)/2,l=(i+j)/2,m=(j+k)/2,n=(m-l)/8;return e.b=i+(a-i)/4,f.b=l+n,e.c=f.a=(e.b+f.b)/2,f.c=g.a=(l+m)/2,g.b=m-n,h.b=k+(d-k)/4,g.c=h.a=(g.b+h.b)/2,[e,f,g,h]},j=function(a,e,f,g,h){var j,k,l,m,n,o,p,q,r,s,t,u,v,w=a.length-1,x=0,y=a[0].a;for(j=0;w>j;j++)n=a[x],k=n.a,l=n.d,m=a[x+1].d,h?(t=b[j],u=c[j],v=(u+t)*e*.25/(g?.5:d[j]||.5),o=l-(l-k)*(g?.5*e:0!==t?v/t:0),p=l+(m-l)*(g?.5*e:0!==u?v/u:0),q=l-(o+((p-o)*(3*t/(t+u)+.5)/4||0))):(o=l-(l-k)*e*.5,p=l+(m-l)*e*.5,q=l-(o+p)/2),o+=q,p+=q,n.c=r=o,0!==j?n.b=y:n.b=y=n.a+.6*(n.c-n.a),n.da=l-k,n.ca=r-k,n.ba=y-k,f?(s=i(k,y,r,l),a.splice(x,1,s[0],s[1],s[2],s[3]),x+=4):x++,y=p;n=a[x],n.b=y,n.c=y+.4*(n.d-y),n.da=n.d-n.a,n.ca=n.c-n.a,n.ba=y-n.a,f&&(s=i(n.a,y,n.c,n.d),a.splice(x,1,s[0],s[1],s[2],s[3]))},k=function(a,d,e,f){var h,i,j,k,l,m,n=[];if(f)for(a=[f].concat(a),i=a.length;--i>-1;)"string"==typeof(m=a[i][d])&&"="===m.charAt(1)&&(a[i][d]=f[d]+Number(m.charAt(0)+m.substr(2)));if(h=a.length-2,0>h)return n[0]=new g(a[0][d],0,0,a[0][d]),n;for(i=0;h>i;i++)j=a[i][d],k=a[i+1][d],n[i]=new g(j,0,0,k),e&&(l=a[i+2][d],b[i]=(b[i]||0)+(k-j)*(k-j),c[i]=(c[i]||0)+(l-k)*(l-k));return n[i]=new g(a[i][d],0,0,a[i+1][d]),n},l=function(a,f,g,i,l,m){var n,o,p,q,r,s,t,u,v={},w=[],x=m||a[0];l="string"==typeof l?","+l+",":h,null==f&&(f=1);for(o in a[0])w.push(o);if(a.length>1){for(u=a[a.length-1],t=!0,n=w.length;--n>-1;)if(o=w[n],Math.abs(x[o]-u[o])>.05){t=!1;break}t&&(a=a.concat(),m&&a.unshift(m),a.push(a[1]),m=a[a.length-3])}for(b.length=c.length=d.length=0,n=w.length;--n>-1;)o=w[n],e[o]=-1!==l.indexOf(","+o+","),v[o]=k(a,o,e[o],m);for(n=b.length;--n>-1;)b[n]=Math.sqrt(b[n]),c[n]=Math.sqrt(c[n]);if(!i){for(n=w.length;--n>-1;)if(e[o])for(p=v[w[n]], 5174s=p.length-1,q=0;s>q;q++)r=p[q+1].da/c[q]+p[q].da/b[q]||0,d[q]=(d[q]||0)+r*r;for(n=d.length;--n>-1;)d[n]=Math.sqrt(d[n])}for(n=w.length,q=g?4:1;--n>-1;)o=w[n],p=v[o],j(p,f,g,i,e[o]),t&&(p.splice(0,q),p.splice(p.length-q,q));return v},m=function(a,b,c){b=b||"soft";var d,e,f,h,i,j,k,l,m,n,o,p={},q="cubic"===b?3:2,r="soft"===b,s=[];if(r&&c&&(a=[c].concat(a)),null==a||a.length<q+1)throw"invalid Bezier data";for(m in a[0])s.push(m);for(j=s.length;--j>-1;){for(m=s[j],p[m]=i=[],n=0,l=a.length,k=0;l>k;k++)d=null==c?a[k][m]:"string"==typeof(o=a[k][m])&&"="===o.charAt(1)?c[m]+Number(o.charAt(0)+o.substr(2)):Number(o),r&&k>1&&l-1>k&&(i[n++]=(d+i[n-2])/2),i[n++]=d;for(l=n-q+1,n=0,k=0;l>k;k+=q)d=i[k],e=i[k+1],f=i[k+2],h=2===q?0:i[k+3],i[n++]=o=3===q?new g(d,e,f,h):new g(d,(2*e+d)/3,(2*e+f)/3,f);i.length=n}return p},n=function(a,b,c){for(var d,e,f,g,h,i,j,k,l,m,n,o=1/c,p=a.length;--p>-1;)for(m=a[p],f=m.a,g=m.d-f,h=m.c-f,i=m.b-f,d=e=0,k=1;c>=k;k++)j=o*k,l=1-j,d=e-(e=(j*j*g+3*l*(j*h+l*i))*j),n=p*c+k-1,b[n]=(b[n]||0)+d*d},o=function(a,b){b=b>>0||6;var c,d,e,f,g=[],h=[],i=0,j=0,k=b-1,l=[],m=[];for(c in a)n(a[c],g,b);for(e=g.length,d=0;e>d;d++)i+=Math.sqrt(g[d]),f=d%b,m[f]=i,f===k&&(j+=i,f=d/b>>0,l[f]=m,h[f]=j,i=0,m=[]);return{length:j,lengths:h,segments:l}},p=_gsScope._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.
51748",API:2,global:!0,init:function(a,b,c){this._target=a,b instanceof Array&&(b={values:b}),this._func={},this._mod={},this._props=[],this._timeRes=null==b.timeResolution?6:parseInt(b.timeResolution,10);var d,e,f,g,h,i=b.values||[],j={},k=i[0],n=b.autoRotate||c.vars.orientToBezier;this._autoRotate=n?n instanceof Array?n:[["x","y","rotation",n===!0?0:Number(n)||0]]:null;for(d in k)this._props.push(d);for(f=this._props.length;--f>-1;)d=this._props[f],this._overwriteProps.push(d),e=this._func[d]="function"==typeof a[d],j[d]=e?a[d.indexOf("set")||"function"!=typeof a["get"+d.substr(3)]?d:"get"+d.substr(3)]():parseFloat(a[d]),h||j[d]!==i[0][d]&&(h=j);if(this._beziers="cubic"!==b.type&&"quadratic"!==b.type&&"soft"!==b.type?l(i,isNaN(b.curviness)?1:b.curviness,!1,"thruBasic"===b.type,b.correlate,h):m(i,b.type,j),this._segCount=this._beziers[d].length,this._timeRes){var p=o(this._beziers,this._timeRes);this._length=p.length,this._lengths=p.lengths,this._segments=p.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(n=this._autoRotate)for(this._initialRotations=[],n[0]instanceof Array||(this._autoRotate=n=[n]),f=n.length;--f>-1;){for(g=0;3>g;g++)d=n[f][g],this._func[d]="function"==typeof a[d]?a[d.indexOf("set")||"function"!=typeof a["get"+d.substr(3)]?d:"get"+d.substr(3)]:!1;d=n[f][2],this._initialRotations[f]=(this._func[d]?this._func[d].call(this._target):this._target[d])||0,this._overwriteProps.push(d)}return this._startRatio=c.vars.runBackwards?1:0,!0},set:function(b){var c,d,e,f,g,h,i,j,k,l,m=this._segCount,n=this._func,o=this._target,p=b!==this._startRatio;if(this._timeRes){if(k=this._lengths,l=this._curSeg,b*=this._length,e=this._li,b>this._l2&&m-1>e){for(j=m-1;j>e&&(this._l2=k[++e])<=b;);this._l1=k[e-1],this._li=e,this._curSeg=l=this._segments[e],this._s2=l[this._s1=this._si=0]}else if(b<this._l1&&e>0){for(;e>0&&(this._l1=k[--e])>=b;);0===e&&b<this._l1?this._l1=0:e++,this._l2=k[e],this._li=e,this._curSeg=l=this._segments[e],this._s1=l[(this._si=l.length-1)-1]||0,this._s2=l[this._si]}if(c=e,b-=this._l1,e=this._si,b>this._s2&&e<l.length-1){for(j=l.length-1;j>e&&(this._s2=l[++e])<=b;);this._s1=l[e-1],this._si=e}else if(b<this._s1&&e>0){for(;e>0&&(this._s1=l[--e])>=b;);0===e&&b<this._s1?this._s1=0:e++,this._s2=l[e],this._si=e}h=(e+(b-this._s1)/(this._s2-this._s1))*this._prec||0}else c=0>b?0:b>=1?m-1:m*b>>0,h=(b-c*(1/m))*m;for(d=1-h,e=this._props.length;--e>-1;)f=this._props[e],g=this._beziers[f][c],i=(h*h*g.da+3*d*(h*g.ca+d*g.ba))*h+g.a,this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i;if(this._autoRotate){var q,r,s,t,u,v,w,x=this._autoRotate;for(e=x.length;--e>-1;)f=x[e][2],v=x[e][3]||0,w=x[e][4]===!0?1:a,g=this._beziers[x[e][0]],q=this._beziers[x[e][1]],g&&q&&(g=g[c],q=q[c],r=g.a+(g.b-g.a)*h,t=g.b+(g.c-g.b)*h,r+=(t-r)*h,t+=(g.c+(g.d-g.c)*h-t)*h,s=q.a+(q.b-q.a)*h,u=q.b+(q.c-q.b)*h,s+=(u-s)*h,u+=(q.c+(q.d-q.c)*h-u)*h,i=p?Math.atan2(u-s,t-r)*w+v:this._initialRotations[e],this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i)}}}),q=p.prototype;p.bezierThrough=l,p.cubicToQuadratic=i,p._autoCSS=!0,p.quadraticToCubic=function(a,b,c){return new g(a,(2*b+a)/3,(2*b+c)/3,c)},p._cssRegister=function(){var a=f.CSSPlugin;if(a){var b=a._internals,c=b._parseToProxy,d=b._setPluginRatio,e=b.CSSPropTween;b._registerComplexSpecialProp("bezier",{parser:function(a,b,f,g,h,i){b instanceof Array&&(b={values:b}),i=new p;var j,k,l,m=b.values,n=m.length-1,o=[],q={};if(0>n)return h;for(j=0;n>=j;j++)l=c(a,m[j],g,h,i,n!==j),o[j]=l.end;for(k in b)q[k]=b[k];return q.values=o,h=new e(a,"bezier",0,0,l.pt,2),h.data=l,h.plugin=i,h.setRatio=d,0===q.autoRotate&&(q.autoRotate=!0),!q.autoRotate||q.autoRotate instanceof Array||(j=q.autoRotate===!0?0:Number(q.autoRotate),q.autoRotate=null!=l.end.left?[["left","top","rotation",j,!1]]:null!=l.end.x?[["x","y","rotation",j,!1]]:!1),q.autoRotate&&(g._transform||g._enableTransforms(!1),l.autoRotate=g._target._gsTransform,l.proxy.rotation=l.autoRotate.rotation||0,g._overwriteProps.push("rotation")),i._onInitTween(l.proxy,q,g._tween),h}})}},q._mod=function(a){for(var b,c=this._overwriteProps,d=c.length;--d>-1;)b=a[c[d]],b&&"function"==typeof b&&(this._mod[c[d]]=b)},q._kill=function(a){var b,c,d=this._props;for(b in this._beziers)if(b in a)for(delete this._beziers[b],delete this._func[b],c=d.length;--c>-1;)d[c]===b&&d.splice(c,1);if(d=this._autoRotate)for(c=d.length;--c>-1;)a[d[c][2]]&&d.splice(c,1);return this._super._kill.call(this,a)}}(),_gsScope._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(a,b){var c,d,e,f,g=function(){a.call(this,"css"),this._overwriteProps.length=0,this.setRatio=g.prototype.setRatio},h=_gsScope._gsDefine.globals,i={},j=g.prototype=new a("css");j.constructor=g,g.version="1.20.4",g.API=2,g.defaultTransformPerspective=0,g.defaultSkewType="compensated",g.defaultSmoothOrigin=!0,j="px",g.suffixMap={top:j,right:j,bottom:j,left:j,width:j,height:j,fontSize:j,padding:j,margin:j,perspective:j,lineHeight:""};var k,l,m,n,o,p,q,r,s=/(?:\-|\.|\b)(\d|\.|e\-)+/g,t=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,u=/(?:\+=|\
vendor: 26,074 bytes, lines 5174-5175
5174-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,v=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,w=/(?:\d|\-|\+|=|#|\.)*/g,x=/opacity *= *([^)]*)/i,y=/opacity:([^;]*)/i,z=/alpha\(opacity *=.+?\)/i,A=/^(rgb|hsl)/,B=/([A-Z])/g,C=/-([a-z])/gi,D=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,E=function(a,b){return b.toUpperCase()},F=/(?:Left|Right|Width)/i,G=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,H=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,I=/,(?=[^\)]*(?:\(|$))/gi,J=/[\s,\(]/i,K=Math.PI/180,L=180/Math.PI,M={},N={style:{}},O=_gsScope.document||{createElement:function(){return N}},P=function(a,b){return O.createElementNS?O.createElementNS(b||"http://www.w3.org/1999/xhtml",a):O.createElement(a)},Q=P("div"),R=P("img"),S=g._internals={_specialProps:i},T=(_gsScope.navigator||{}).userAgent||"",U=function(){var a=T.indexOf("Android"),b=P("a");return m=-1!==T.indexOf("Safari")&&-1===T.indexOf("Chrome")&&(-1===a||parseFloat(T.substr(a+8,2))>3),o=m&&parseFloat(T.substr(T.indexOf("Version/")+8,2))<6,n=-1!==T.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(T)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(T))&&(p=parseFloat(RegExp.$1)),b?(b.style.cssText="top:1px;opacity:.55;",/^0.55/.test(b.style.opacity)):!1}(),V=function(a){return x.test("string"==typeof a?a:(a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100:1},W=function(a){_gsScope.console&&console.log(a)},X="",Y="",Z=function(a,b){b=b||Q;var c,d,e=b.style;if(void 0!==e[a])return a;for(a=a.charAt(0).toUpperCase()+a.substr(1),c=["O","Moz","ms","Ms","Webkit"],d=5;--d>-1&&void 0===e[c[d]+a];);return d>=0?(Y=3===d?"ms":c[d],X="-"+Y.toLowerCase()+"-",Y+a):null},$=O.defaultView?O.defaultView.getComputedStyle:function(){},_=g.getStyle=function(a,b,c,d,e){var f;return U||"opacity"!==b?(!d&&a.style[b]?f=a.style[b]:(c=c||$(a))?f=c[b]||c.getPropertyValue(b)||c.getPropertyValue(b.replace(B,"-$1").toLowerCase()):a.currentStyle&&(f=a.currentStyle[b]),null==e||f&&"none"!==f&&"auto"!==f&&"auto auto"!==f?f:e):V(a)},aa=S.convertToPixels=function(a,c,d,e,f){if("px"===e||!e&&"lineHeight"!==c)return d;if("auto"===e||!d)return 0;var h,i,j,k=F.test(c),l=a,m=Q.style,n=0>d,o=1===d;if(n&&(d=-d),o&&(d*=100),"lineHeight"!==c||e)if("%"===e&&-1!==c.indexOf("border"))h=d/100*(k?a.clientWidth:a.clientHeight);else{if(m.cssText="border:0 solid red;position:"+_(a,"position")+";line-height:0;","%"!==e&&l.appendChild&&"v"!==e.charAt(0)&&"rem"!==e)m[k?"borderLeftWidth":"borderTopWidth"]=d+e;else{if(l=a.parentNode||O.body,-1!==_(l,"display").indexOf("flex")&&(m.position="absolute"),i=l._gsCache,j=b.ticker.frame,i&&k&&i.time===j)return i.width*d/100;m[k?"width":"height"]=d+e}l.appendChild(Q),h=parseFloat(Q[k?"offsetWidth":"offsetHeight"]),l.removeChild(Q),k&&"%"===e&&g.cacheWidths!==!1&&(i=l._gsCache=l._gsCache||{},i.time=j,i.width=h/d*100),0!==h||f||(h=aa(a,c,d,e,!0))}else i=$(a).lineHeight,a.style.lineHeight=d,h=parseFloat($(a).lineHeight),a.style.lineHeight=i;return o&&(h/=100),n?-h:h},ba=S.calculateOffset=function(a,b,c){if("absolute"!==_(a,"position",c))return 0;var d="left"===b?"Left":"Top",e=_(a,"margin"+d,c);return a["offset"+d]-(aa(a,b,parseFloat(e),e.replace(w,""))||0)},ca=function(a,b){var c,d,e,f={};if(b=b||$(a,null))if(c=b.length)for(;--c>-1;)e=b[c],(-1===e.indexOf("-transform")||Da===e)&&(f[e.replace(C,E)]=b.getPropertyValue(e));else for(c in b)(-1===c.indexOf("Transform")||Ca===c)&&(f[c]=b[c]);else if(b=a.currentStyle||a.style)for(c in b)"string"==typeof c&&void 0===f[c]&&(f[c.replace(C,E)]=b[c]);return U||(f.opacity=V(a)),d=Ra(a,b,!1),f.rotation=d.rotation,f.skewX=d.skewX,f.scaleX=d.scaleX,f.scaleY=d.scaleY,f.x=d.x,f.y=d.y,Fa&&(f.z=d.z,f.rotationX=d.rotationX,f.rotationY=d.rotationY,f.scaleZ=d.scaleZ),f.filters&&delete f.filters,f},da=function(a,b,c,d,e){var f,g,h,i={},j=a.style;for(g in c)"cssText"!==g&&"length"!==g&&isNaN(g)&&(b[g]!==(f=c[g])||e&&e[g])&&-1===g.indexOf("Origin")&&("number"==typeof f||"string"==typeof f)&&(i[g]="auto"!==f||"left"!==g&&"top"!==g?""!==f&&"auto"!==f&&"none"!==f||"string"!=typeof b[g]||""===b[g].replace(v,"")?f:0:ba(a,g),void 0!==j[g]&&(h=new sa(j,g,j[g],h)));if(d)for(g in d)"className"!==g&&(i[g]=d[g]);return{difs:i,firstMPT:h}},ea={width:["Left","Right"],height:["Top","Bottom"]},fa=["marginLeft","marginRight","marginTop","marginBottom"],ga=function(a,b,c){if("svg"===(a.nodeName+"").toLowerCase())return(c||$(a))[b]||0;if(a.getCTM&&Oa(a))return a.getBBox()[b]||0;var d=parseFloat("width"===b?a.offsetWidth:a.offsetHeight),e=ea[b],f=e.length;for(c=c||$(a,null);--f>-1;)d-=parseFloat(_(a,"padding"+e[f],c,!0))||0,d-=parseFloat(_(a,"border"+e[f]+"Width",c,!0))||0;return d},ha=function(a,b){if("contain"===a||"auto"===a||"auto auto"===a)return a+" ";(null==a||""===a)&&(a="0 0");var c,d=a.split(" "),e=-1!==a.indexOf("left")?"0%":-1!==a.indexOf("right")?"100%":d[0],f=-1!==a.indexOf("top")?"0%":-1!==a.indexOf("bottom")?"100%":d[1];if(d.length>3&&!b){for(d=a.split(", ").join(",").split(","),a=[],c=0;c<d.length;c++)a.push(ha(d[c]));return a.join(",")}return null==f?f="center"===e?"50%":"0":"center"===f&&(f="50%"),("center"===e||isNaN(parseFloat(e))&&-1===(e+"").indexOf("="))&&(e="50%"),a=e+" "+f+(d.length>2?" "+d[2]:""),b&&(b.oxp=-1!==e.indexOf("%"),b.oyp=-1!==f.indexOf("%"),b.oxr="="===e.charAt(1),b.oyr="="===f.charAt(1),b.ox=parseFloat(e.replace(v,"")),b.oy=parseFloat(f.replace(v,"")),b.v=a),b||a},ia=function(a,b){return"function"==typeof a&&(a=a(r,q)),"string"==typeof a&&"="===a.charAt(1)?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2)):parseFloat(a)-parseFloat(b)||0},ja=function(a,b){return"function"==typeof a&&(a=a(r,q)),null==a?b:"string"==typeof a&&"="===a.charAt(1)?parseInt(a.charAt(0)+"1",10)*parseFloat(a.substr(2))+b:parseFloat(a)||0},ka=function(a,b,c,d){var e,f,g,h,i,j=1e-6;return"function"==typeof a&&(a=a(r,q)),null==a?h=b:"number"==typeof a?h=a:(e=360,f=a.split("_"),i="="===a.charAt(1),g=(i?parseInt(a.charAt(0)+"1",10)*parseFloat(f[0].substr(2)):parseFloat(f[0]))*(-1===a.indexOf("rad")?1:L)-(i?0:b),f.length&&(d&&(d[c]=b+g),-1!==a.indexOf("short")&&(g%=e,g!==g%(e/2)&&(g=0>g?g+e:g-e)),-1!==a.indexOf("_cw")&&0>g?g=(g+9999999999*e)%e-(g/e|0)*e:-1!==a.indexOf("ccw")&&g>0&&(g=(g-9999999999*e)%e-(g/e|0)*e)),h=b+g),j>h&&h>-j&&(h=0),h},la={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ma=function(a,b,c){return a=0>a?a+1:a>1?a-1:a,255*(1>6*a?b+(c-b)*a*6:.5>a?c:2>3*a?b+(c-b)*(2/3-a)*6:b)+.5|0},na=g.parseColor=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a)if("number"==typeof a)c=[a>>16,a>>8&255,255&a];else{if(","===a.charAt(a.length-1)&&(a=a.substr(0,a.length-1)),la[a])c=la[a];else if("#"===a.charAt(0))4===a.length&&(d=a.charAt(1),e=a.charAt(2),f=a.charAt(3),a="#"+d+d+e+e+f+f),a=parseInt(a.substr(1),16),c=[a>>16,a>>8&255,255&a];else if("hsl"===a.substr(0,3))if(c=m=a.match(s),b){if(-1!==a.indexOf("="))return a.match(t)}else g=Number(c[0])%360/360,h=Number(c[1])/100,i=Number(c[2])/100,e=.5>=i?i*(h+1):i+h-i*h,d=2*i-e,c.length>3&&(c[3]=Number(c[3])),c[0]=ma(g+1/3,d,e),c[1]=ma(g,d,e),c[2]=ma(g-1/3,d,e);else c=a.match(s)||la.transparent;c[0]=Number(c[0]),c[1]=Number(c[1]),c[2]=Number(c[2]),c.length>3&&(c[3]=Number(c[3]))}else c=la.black;return b&&!m&&(d=c[0]/255,e=c[1]/255,f=c[2]/255,j=Math.max(d,e,f),k=Math.min(d,e,f),i=(j+k)/2,j===k?g=h=0:(l=j-k,h=i>.5?l/(2-j-k):l/(j+k),g=j===d?(e-f)/l+(f>e?6:0):j===e?(f-d)/l+2:(d-e)/l+4,g*=60),c[0]=g+.5|0,c[1]=100*h+.5|0,c[2]=100*i+.5|0),c},oa=function(a,b){var c,d,e,f=a.match(pa)||[],g=0,h="";if(!f.length)return a;for(c=0;c<f.length;c++)d=f[c],e=a.substr(g,a.indexOf(d,g)-g),g+=e.length+d.length,d=na(d,b),3===d.length&&d.push(1),h+=e+(b?"hsla("+d[0]+","+d[1]+"%,"+d[2]+"%,"+d[3]:"rgba("+d.join(","))+")";return h+a.substr(g)},pa="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";for(j in la)pa+="|"+j+"\\b";pa=new RegExp(pa+")","gi"),g.colorStringFilter=function(a){var b,c=a[0]+" "+a[1];pa.test(c)&&(b=-1!==c.indexOf("hsl(")||-1!==c.indexOf("hsla("),a[0]=oa(a[0],b),a[1]=oa(a[1],b)),pa.lastIndex=0},b.defaultStringFilter||(b.defaultStringFilter=g.colorStringFilter);var qa=function(a,b,c,d){if(null==a)return function(a){return a};var e,f=b?(a.match(pa)||[""])[0]:"",g=a.split(f).join("").match(u)||[],h=a.substr(0,a.indexOf(g[0])),i=")"===a.charAt(a.length-1)?")":"",j=-1!==a.indexOf(" ")?" ":",",k=g.length,l=k>0?g[0].replace(s,""):"";return k?e=b?function(a){var b,m,n,o;if("number"==typeof a)a+=l;else if(d&&I.test(a)){for(o=a.replace(I,"|").split("|"),n=0;n<o.length;n++)o[n]=e(o[n]);return o.join(",")}if(b=(a.match(pa)||[f])[0],m=a.split(b).join("").match(u)||[],n=m.length,k>n--)for(;++n<k;)m[n]=c?m[(n-1)/2|0]:g[n];return h+m.join(j)+j+b+i+(-1!==a.indexOf("inset")?" inset":"")}:function(a){var b,f,m;if("number"==typeof a)a+=l;else if(d&&I.test(a)){for(f=a.replace(I,"|").split("|"),m=0;m<f.length;m++)f[m]=e(f[m]);return f.join(",")}if(b=a.match(u)||[],m=b.length,k>m--)for(;++m<k;)b[m]=c?b[(m-1)/2|0]:g[m];return h+b.join(j)+i}:function(a){return a}},ra=function(a){return a=a.split(","),function(b,c,d,e,f,g,h){var i,j=(c+"").split(" ");for(h={},i=0;4>i;i++)h[a[i]]=j[i]=j[i]||j[(i-1)/2>>0];return e.parse(b,h,f,g)}},sa=(S._setPluginRatio=function(a){this.plugin.setRatio(a);for(var b,c,d,e,f,g=this.data,h=g.proxy,i=g.firstMPT,j=1e-6;i;)b=h[i.v],i.r?b=Math.round(b):j>b&&b>-j&&(b=0),i.t[i.p]=b,i=i._next;if(g.autoRotate&&(g.autoRotate.rotation=g.mod?g.mod(h.rotation,this.t):h.rotation),1===a||0===a)for(i=g.firstMPT,f=1===a?"e":"b";i;){if(c=i.t,c.type){if(1===c.type){for(e=c.xs0+c.s+c.xs1,d=1;d<c.l;d++)e+=c["xn"+d]+c["xs"+(d+1)];c[f]=e}}else c[f]=c.s+c.xs0;i=i._next}},function(a,b,c,d,e){this.t=a,this.p=b,this.v=c,this.r=e,d&&(d._prev=this,this._next=d)}),ta=(S._parseToProxy=function(a,b,c,d,e,f){var g,h,i,j,k,l=d,m={},n={},o=c._transform,p=M;for(c._transform=null,M=b,d=k=c.parse(a,b,d,e),M=p,f&&(c._transform=o,l&&(l._prev=null,l._prev&&(l._prev._next=null)));d&&d!==l;){if(d.type<=1&&(h=d.p,n[h]=d.s+d.c,m[h]=d.s,f||(j=new sa(d,"s",h,j,d.r),d.c=0),1===d.type))for(g=d.l;--g>0;)i="xn"+g,h=d.p+"_"+i,n[h]=d.data[i],m[h]=d[i],f||(j=new sa(d,i,h,j,d.rxp[i]));d=d._next}return{proxy:m,end:n,firstMPT:j,pt:k}},S.CSSPropTween=function(a,b,d,e,g,h,i,j,k,l,m){this.t=a,this.p=b,this.s=d,this.c=e,this.n=i||b,a instanceof ta||f.push(this.n),this.r=j,this.type=h||0,k&&(this.pr=k,c=!0),this.b=void 0===l?d:l,this.e=void 0===m?d+e:m,g&&(this._next=g,g._prev=this)}),ua=function(a,b,c,d,e,f){var g=new ta(a,b,c,d-c,e,-1,f);return g.b=c,g.e=g.xs0=d,g},va=g.parseComplex=function(a,b,c,d,e,f,h,i,j,l){c=c||f||"","function"==typeof d&&(d=d(r,q)),h=new ta(a,b,0,0,h,l?2:1,null,!1,i,c,d),d+="",e&&pa.test(d+c)&&(d=[c,d],g.colorStringFilter(d),c=d[0],d=d[1]);var m,n,o,p,u,v,w,x,y,z,A,B,C,D=c.split(", ").join(",").split(" "),E=d.split(", ").join(",").split(" "),F=D.length,G=k!==!1;for((-1!==d.indexOf(",")||-1!==c.indexOf(","))&&(-1!==(d+c).indexOf("rgb")||-1!==(d+c).indexOf("hsl")?(D=D.join(" ").replace(I,", ").split(" "),E=E.join(" ").replace(I,", ").split(" ")):(D=D.join(" ").split(",").join(", ").split(" "),E=E.join(" ").split(",").join(", ").split(" ")),F=D.length),F!==E.length&&(D=(f||"").split(" "),F=D.length),h.plugin=j,h.setRatio=l,pa.lastIndex=0,m=0;F>m;m++)if(p=D[m],u=E[m],x=parseFloat(p),x||0===x)h.appendXtra("",x,ia(u,x),u.replace(t,""),G&&-1!==u.indexOf("px"),!0);else if(e&&pa.test(p))B=u.indexOf(")")+1,B=")"+(B?u.substr(B):""),C=-1!==u.indexOf("hsl")&&U,z=u,p=na(p,C),u=na(u,C),y=p.length+u.length>6,y&&!U&&0===u[3]?(h["xs"+h.l]+=h.l?" transparent":"transparent",h.e=h.e.split(E[m]).join("transparent")):(U||(y=!1),C?h.appendXtra(z.substr(0,z.indexOf("hsl"))+(y?"hsla(":"hsl("),p[0],ia(u[0],p[0]),",",!1,!0).appendXtra("",p[1],ia(u[1],p[1]),"%,",!1).appendXtra("",p[2],ia(u[2],p[2]),y?"%,":"%"+B,!1):h.appendXtra(z.substr(0,z.indexOf("rgb"))+(y?"rgba(":"rgb("),p[0],u[0]-p[0],",",!0,!0).appendXtra("",p[1],u[1]-p[1],",",!0).appendXtra("",p[2],u[2]-p[2],y?",":B,!0),y&&(p=p.length<4?1:p[3],h.appendXtra("",p,(u.length<4?1:u[3])-p,B,!1))),pa.lastIndex=0;else if(v=p.match(s)){if(w=u.match(t),!w||w.length!==v.length)return h;for(o=0,n=0;n<v.length;n++)A=v[n],z=p.indexOf(A,o),h.appendXtra(p.substr(o,z-o),Number(A),ia(w[n],A),"",G&&"px"===p.substr(z+A.length,2),0===n),o=z+A.length;h["xs"+h.l]+=p.substr(o)}else h["xs"+h.l]+=h.l||h["xs"+h.l]?" "+u:u;if(-1!==d.indexOf("=")&&h.data){for(B=h.xs0+h.data.s,m=1;m<h.l;m++)B+=h["xs"+m]+h.data["xn"+m];h.e=B+h["xs"+m]}return h.l||(h.type=-1,h.xs0=h.e),h.xfirst||h},wa=9;for(j=ta.prototype,j.l=j.pr=0;--wa>0;)j["xn"+wa]=0,j["xs"+wa]="";j.xs0="",j._next=j._prev=j.xfirst=j.data=j.plugin=j.setRatio=j.rxp=null,j.appendXtra=function(a,b,c,d,e,f){var g=this,h=g.l;return g["xs"+h]+=f&&(h||g["xs"+h])?" "+a:a||"",c||0===h||g.plugin?(g.l++,g.type=g.setRatio?2:1,g["xs"+g.l]=d||"",h>0?(g.data["xn"+h]=b+c,g.rxp["xn"+h]=e,g["xn"+h]=b,g.plugin||(g.xfirst=new ta(g,"xn"+h,b,c,g.xfirst||g,0,g.n,e,g.pr),g.xfirst.xs0=0),g):(g.data={s:b+c},g.rxp={},g.s=b,g.c=c,g.r=e,g)):(g["xs"+h]+=b+(d||""),g)};var xa=function(a,b){b=b||{},this.p=b.prefix?Z(a)||a:a,i[a]=i[this.p]=this,this.format=b.formatter||qa(b.defaultValue,b.color,b.collapsible,b.multi),b.parser&&(this.parse=b.parser),this.clrs=b.color,this.multi=b.multi,this.keyword=b.keyword,this.dflt=b.defaultValue,this.pr=b.priority||0},ya=S._registerComplexSpecialProp=function(a,b,c){"object"!=typeof b&&(b={parser:c});var d,e,f=a.split(","),g=b.defaultValue;for(c=c||[g],d=0;d<f.length;d++)b.prefix=0===d&&b.prefix,b.defaultValue=c[d]||g,e=new xa(f[d],b)},za=S._registerPluginProp=function(a){if(!i[a]){var b=a.charAt(0).toUpperCase()+a.substr(1)+"Plugin";ya(a,{parser:function(a,c,d,e,f,g,j){var k=h.com.greensock.plugins[b];return k?(k._cssRegister(),i[d].parse(a,c,d,e,f,g,j)):(W("Error: "+b+" js file not loaded."),f)}})}};j=xa.prototype,j.parseComplex=function(a,b,c,d,e,f){var g,h,i,j,k,l,m=this.keyword;if(this.multi&&(I.test(c)||I.test(b)?(h=b.replace(I,"|").split("|"),i=c.replace(I,"|").split("|")):m&&(h=[b],i=[c])),i){for(j=i.length>h.length?i.length:h.length,g=0;j>g;g++)b=h[g]=h[g]||this.dflt,c=i[g]=i[g]||this.dflt,m&&(k=b.indexOf(m),l=c.indexOf(m),k!==l&&(-1===l?h[g]=h[g].split(m).join(""):-1===k&&(h[g]+=" "+m)));b=h.join(", "),c=i.join(", ")}return va(a,this.p,b,c,this.clrs,this.dflt,d,this.pr,e,f)},j.parse=function(a,b,c,d,f,g,h){return this.parseComplex(a.style,this.format(_(a,this.p,e,!1,this.dflt)),this.format(b),f,g)},g.registerSpecialProp=function(a,b,c){ya(a,{parser:function(a,d,e,f,g,h,i){var j=new ta(a,e,0,0,g,2,e,!1,c);return j.plugin=h,j.setRatio=b(a,d,f._tween,e),j},priority:c})},g.useSVGTransformAttr=!0;var Aa,Ba="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Ca=Z("transform"),Da=X+"transform",Ea=Z("transformOrigin"),Fa=null!==Z("perspective"),Ga=S.Transform=function(){this.perspective=parseFloat(g.defaultTransformPerspective)||0,this.force3D=g.defaultForce3D!==!1&&Fa?g.defaultForce3D||"auto":!1},Ha=_gsScope.SVGElement,Ia=function(a,b,c){var d,e=O.createElementNS("http://www.w3.org/2000/svg",a),f=/([a-z])([A-Z])/g;for(d in c)e.setAttributeNS(null,d.replace(f,"$1-$2").toLowerCase(),c[d]);return b.appendChild(e),e},Ja=O.documentElement||{},Ka=function(){var a,b,c,d=p||/Android/i.test(T)&&!_gsScope.chrome;return O.createElementNS&&!d&&(a=Ia("svg",Ja),b=Ia("rect",a,{width:100,height:50,x:100}),c=b.getBoundingClientRect().width,b.style[Ea]="50% 50%",b.style[Ca]="scaleX(0.5)",d=c===b.getBoundingClientRect().width&&!(n&&Fa),Ja.removeChild(a)),d}(),La=function(a,b,c,d,e,f){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a._gsTransform,w=Qa(a,!0);v&&(t=v.xOrigin,u=v.yOrigin),(!d||(h=d.split(" ")).length<2)&&(n=a.getBBox(),0===n.x&&0===n.y&&n.width+n.height===0&&(n={x:parseFloat(a.hasAttribute("x")?a.getAttribute("x"):a.hasAttribute("cx")?a.getAttribute("cx"):0)||0,y:parseFloat(a.hasAttribute("y")?a.getAttribute("y"):a.hasAttribute("cy")?a.getAttribute("cy"):0)||0,width:0,height:0}),b=ha(b).split(" "),h=[(-1!==b[0].indexOf("%")?parseFloat(b[0])/100*n.width:parseFloat(b[0]))+n.x,(-1!==b[1].indexOf("%")?parseFloat(b[1])/100*n.height:parseFloat(b[1]))+n.y]),c.xOrigin=k=parseFloat(h[0]),c.yOrigin=l=parseFloat(h[1]),d&&w!==Pa&&(m=w[0],n=w[1],o=w[2],p=w[3],q=w[4],r=w[5],s=m*p-n*o,s&&(i=k*(p/s)+l*(-o/s)+(o*r-p*q)/s,j=k*(-n/s)+l*(m/s)-(m*r-n*q)/s,k=c.xOrigin=h[0]=i,l=c.yOrigin=h[1]=j)),v&&(f&&(c.xOffset=v.xOffset,c.yOffset=v.yOffset,v=c),e||e!==!1&&g.defaultSmoothOrigin!==!1?(i=k-t,j=l-u,v.xOffset+=i*w[0]+j*w[2]-i,v.yOffset+=i*w[1]+j*w[3]-j):v.xOffset=v.yOffset=0),f||a.setAttribute("data-svg-origin",h.join(" "))},Ma=function(a){var b,c=P("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),d=this.parentNode,e=this.nextSibling,f=this.style.cssText;if(Ja.appendChild(c),c.appendChild(this),this.style.display="block",a)try{b=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Ma}catch(g){}else this._originalGetBBox&&(b=this._originalGetBBox());return e?d.insertBefore(this,e):d.appendChild(this),Ja.removeChild(c),this.style.cssText=f,b},Na=function(a){try{return a.getBBox()}catch(b){return Ma.call(a,!0)}},Oa=function(a){return!(!Ha||!a.getCTM||a.parentNode&&!a.ownerSVGElement||!Na(a))},Pa=[1,0,0,1,0,0],Qa=function(a,b){var c,d,e,f,g,h,i=a._gsTransform||new Ga,j=1e5,k=a.style;if(Ca?d=_(a,Da,null,!0):a.currentStyle&&(d=a.currentStyle.filter.match(G),d=d&&4===d.length?[d[0].substr(4),Number(d[2].substr(4)),Number(d[1].substr(4)),d[3].substr(4),i.x||0,i.y||0].join(","):""),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,!Ca||!(h=!$(a)||"none"===$(a).display)&&a.parentNode||(h&&(f=k.display,k.display="block"),a.parentNode||(g=1,Ja.appendChild(a)),d=_(a,Da,null,!0),c=!d||"none"===d||"matrix(1, 0, 0, 1, 0, 0)"===d,f?k.display=f:h&&Va(k,"display"),g&&Ja.removeChild(a)),(i.svg||a.getCTM&&Oa(a))&&(c&&-1!==(k[Ca]+"").indexOf("matrix")&&(d=k[Ca],c=0),e=a.getAttribute("transform"),c&&e&&(e=a.transform.baseVal.consolidate().matrix,d="matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")",c=0)),c)return Pa;for(e=(d||"").match(s)||[],wa=e.length;--wa>-1;)f=Number(e[wa]),e[wa]=(g=f-(f|=0))?(g*j+(0>g?-.5:.5)|0)/j+f:f;return b&&e.length>6?[e[0],e[1],e[4],e[5],e[12],e[13]]:e},Ra=S.getTransform=function(a,c,d,e){if(a._gsTransform&&d&&!e)return a._gsTransform;var f,h,i,j,k,l,m=d?a._gsTransform||new Ga:new Ga,n=m.scaleX<0,o=2e-5,p=1e5,q=Fa?parseFloat(_(a,Ea,c,!1,"0 0 0").split(" ")[2])||m.zOrigin||0:0,r=parseFloat(g.defaultTransformPerspective)||0;if(m.svg=!(!a.getCTM||!Oa(a)),m.svg&&(La(a,_(a,Ea,c,!1,"50% 50%")+"",m,a.getAttribute("data-svg-origin")),Aa=g.useSVGTransformAttr||Ka),f=Qa(a),f!==Pa){if(16===f.length){var s,t,u,v,w,x=f[0],y=f[1],z=f[2],A=f[3],B=f[4],C=f[5],D=f[6],E=f[7],F=f[8],G=f[9],H=f[10],I=f[12],J=f[13],K=f[14],M=f[11],N=Math.atan2(D,H);m.zOrigin&&(K=-m.zOrigin,I=F*K-f[12],J=G*K-f[13],K=H*K+m.zOrigin-f[14]),m.rotationX=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=B*v+F*w,t=C*v+G*w,u=D*v+H*w,F=B*-w+F*v,G=C*-w+G*v,H=D*-w+H*v,M=E*-w+M*v,B=s,C=t,D=u),N=Math.atan2(-z,H),m.rotationY=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=x*v-F*w,t=y*v-G*w,u=z*v-H*w,G=y*w+G*v,H=z*w+H*v,M=A*w+M*v,x=s,y=t,z=u),N=Math.atan2(y,x),m.rotation=N*L,N&&(v=Math.cos(N),w=Math.sin(N),s=x*v+y*w,t=B*v+C*w,u=F*v+G*w,y=y*v-x*w,C=C*v-B*w,G=G*v-F*w,x=s,B=t,F=u),m.rotationX&&Math.abs(m.rotationX)+Math.abs(m.rotation)>359.9&&(m.rotationX=m.rotation=0,m.rotationY=180-m.rotationY),N=Math.atan2(B,C),m.scaleX=(Math.sqrt(x*x+y*y+z*z)*p+.5|0)/p,m.scaleY=(Math.sqrt(C*C+D*D)*p+.5|0)/p,m.scaleZ=(Math.sqrt(F*F+G*G+H*H)*p+.5|0)/p,x/=m.scaleX,B/=m.scaleY,y/=m.scaleX,C/=m.scaleY,Math.abs(N)>o?(m.skewX=N*L,B=0,"simple"!==m.skewType&&(m.scaleY*=1/Math.cos(N))):m.skewX=0,m.perspective=M?1/(0>M?-M:M):0,m.x=I,m.y=J,m.z=K,m.svg&&(m.x-=m.xOrigin-(m.xOrigin*x-m.yOrigin*B),m.y-=m.yOrigin-(m.yOrigin*y-m.xOrigin*C))}else if(!Fa||e||!f.length||m.x!==f[4]||m.y!==f[5]||!m.rotationX&&!m.rotationY){var O=f.length>=6,P=O?f[0]:1,Q=f[1]||0,R=f[2]||0,S=O?f[3]:1;m.x=f[4]||0,m.y=f[5]||0,i=Math.sqrt(P*P+Q*Q),j=Math.sqrt(S*S+R*R),k=P||Q?Math.atan2(Q,P)*L:m.rotation||0,l=R||S?Math.atan2(R,S)*L+k:m.skewX||0,m.scaleX=i,m.scaleY=j,m.rotation=k,m.skewX=l,Fa&&(m.rotationX=m.rotationY=m.z=0,m.perspective=r,m.scaleZ=1),m.svg&&(m.x-=m.xOrigin-(m.xOrigin*P+m.yOrigin*R),m.y-=m.yOrigin-(m.xOrigin*Q+m.yOrigin*S))}Math.abs(m.skewX)>90&&Math.abs(m.skewX)<270&&(n?(m.scaleX*=-1,m.skewX+=m.rotation<=0?180:-180,m.rotation+=m.rotation<=0?180:-180):(m.scaleY*=-1,m.skewX+=m.skewX<=0?180:-180)),m.zOrigin=q;for(h in m)m[h]<o&&m[h]>-o&&(m[h]=0)}return d&&(a._gsTransform=m,m.svg&&(Aa&&a.style[Ca]?b.delayedCall(.001,function(){Va(a.style,Ca)}):!Aa&&a.getAttribute("transform")&&b.delayedCall(.001,function(){a.removeAttribute("transform")}))),m},Sa=function(a){var b,c,d=this.data,e=-d.rotation*K,f=e+d.skewX*K,g=1e5,h=(Math.cos(e)*d.scaleX*g|0)/g,i=(Math.sin(e)*d.scaleX*g|0)/g,j=(Math.sin(f)*-d.scaleY*g|0)/g,k=(Math.cos(f)*d.scaleY*g|0)/g,l=this.t.style,m=this.t.currentStyle;if(m){c=i,i=-j,j=-c,b=m.filter,l.filter="";var n,o,q=this.t.offsetWidth,r=this.t.offsetHeight,s="absolute"!==m.position,t="progid:DXImageTransform.Microsoft.Matrix(M11="+h+", M12="+i+", M21="+j+", M22="+k,u=d.x+q*d.xPercent/100,v=d.y+r*d.yPercent/100;if(null!=d.ox&&(n=(d.oxp?q*d.ox*.01:d.ox)-q/2,o=(d.oyp?r*d.oy*.01:d.oy)-r/2,u+=n-(n*h+o*i),v+=o-(n*j+o*k)),s?(n=q/2,o=r/2,t+=", Dx="+(n-(n*h+o*i)+u)+", Dy="+(o-(n*j+o*k)+v)+")"):t+=", sizingMethod='auto expand')",-1!==b.indexOf("DXImageTransform.Microsoft.Matrix(")?l.filter=b.replace(H,t):l.filter=t+" "+b,(0===a||1===a)&&1===h&&0===i&&0===j&&1===k&&(s&&-1===t.indexOf("Dx=0, Dy=0")||x.test(b)&&100!==parseFloat(RegExp.$1)||-1===b.indexOf(b.indexOf("Alpha"))&&l.removeAttribute("filter")),!s){var y,z,A,B=8>p?1:-1;for(n=d.ieOffsetX||0,o=d.ieOffsetY||0,d.ieOffsetX=Math.round((q-((0>h?-h:h)*q+(0>i?-i:i)*r))/2+u),d.ieOffsetY=Math.round((r-((0>k?-k:k)*r+(0>j?-j:j)*q))/2+v),wa=0;4>wa;wa++)z=fa[wa],y=m[z],c=-1!==y.indexOf("px")?parseFloat(y):aa(this.t,z,parseFloat(y),y.replace(w,""))||0,A=c!==d[z]?2>wa?-d.ieOffsetX:-d.ieOffsetY:2>wa?n-d.ieOffsetX:o-d.ieOffsetY,l[z]=(d[z]=Math.round(c-A*(0===wa||2===wa?1:B)))+"px"}}},Ta=S.set3DTransformRatio=S.setTransformRatio=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z=this.data,A=this.t.style,B=z.rotation,C=z.rotationX,D=z.rotationY,E=z.scaleX,F=z.scaleY,G=z.scaleZ,H=z.x,I=z.y,J=z.z,L=z.svg,M=z.perspective,N=z.force3D,O=z.skewY,P=z.skewX;if(O&&(P+=O,B+=O),((1===a||0===a)&&"auto"===N&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!N)&&!J&&!M&&!D&&!C&&1===G||Aa&&L||!Fa)return void(B||P||L?(B*=K,x=P*K,y=1e5,c=Math.cos(B)*E,f=Math.sin(B)*E,d=Math.sin(B-x)*-F,g=Math.cos(B-x)*F,x&&"simple"===z.skewType&&(b=Math.tan(x-O*K),b=Math.sqrt(1+b*b),d*=b,g*=b,O&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b)),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset,Aa&&(z.xPercent||z.yPercent)&&(q=this.t.getBBox(),H+=.01*z.xPercent*q.width,I+=.01*z.yPercent*q.height),q=1e-6,q>H&&H>-q&&(H=0),q>I&&I>-q&&(I=0)),u=(c*y|0)/y+","+(f*y|0)/y+","+(d*y|0)/y+","+(g*y|0)/y+","+H+","+I+")",L&&Aa?this.t.setAttribute("transform","matrix("+u):A[Ca]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+u):A[Ca]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix(":"matrix(")+E+",0,0,"+F+","+H+","+I+")");if(n&&(q=1e-4,q>E&&E>-q&&(E=G=2e-5),q>F&&F>-q&&(F=G=2e-5),!M||z.z||z.rotationX||z.rotationY||(M=0)),B||P)B*=K,r=c=Math.cos(B),s=f=Math.sin(B),P&&(B-=P*K,r=Math.cos(B),s=Math.sin(B),"simple"===z.skewType&&(b=Math.tan((P-O)*K),b=Math.sqrt(1+b*b),r*=b,s*=b,z.skewY&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b))),d=-s,g=r;else{if(!(D||C||1!==G||M||L))return void(A[Ca]=(z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) translate3d(":"translate3d(")+H+"px,"+I+"px,"+J+"px)"+(1!==E||1!==F?" scale("+E+","+F+")":""));c=g=1,d=f=0}k=1,e=h=i=j=l=m=0,o=M?-1/M:0,p=z.zOrigin,q=1e-6,v=",",w="0",B=D*K,B&&(r=Math.cos(B),s=Math.sin(B),i=-s,l=o*-s,e=c*s,h=f*s,k=r,o*=r,c*=r,f*=r),B=C*K,B&&(r=Math.cos(B),s=Math.sin(B),b=d*r+e*s,t=g*r+h*s,j=k*s,m=o*s,e=d*-s+e*r,h=g*-s+h*r,k*=r,o*=r,d=b,g=t),1!==G&&(e*=G,h*=G,k*=G,o*=G),1!==F&&(d*=F,g*=F,j*=F,m*=F),1!==E&&(c*=E,f*=E,i*=E,l*=E),(p||L)&&(p&&(H+=e*-p,I+=h*-p,J+=k*-p+p),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset),q>H&&H>-q&&(H=w),q>I&&I>-q&&(I=w),q>J&&J>-q&&(J=0)),u=z.xPercent||z.yPercent?"translate("+z.xPercent+"%,"+z.yPercent+"%) matrix3d(":"matrix3d(",u+=(q>c&&c>-q?w:c)+v+(q>f&&f>-q?w:f)+v+(q>i&&i>-q?w:i),u+=v+(q>l&&l>-q?w:l)+v+(q>d&&d>-q?w:d)+v+(q>g&&g>-q?w:g),C||D||1!==G?(u+=v+(q>j&&j>-q?w:j)+v+(q>m&&m>-q?w:m)+v+(q>e&&e>-q?w:e),u+=v+(q>h&&h>-q?w:h)+v+(q>k&&k>-q?w:k)+v+(q>o&&o>-q?w:o)+v):u+=",0,0,0,0,1,0,",u+=H+v+I+v+J+v+(M?1+-J/M:1)+")",A[Ca]=u};j=Ga.prototype,j.x=j.y=j.z=j.skewX=j.skewY=j.rotation=j.rotationX=j.rotationY=j.zOrigin=j.xPercent=j.yPercent=j.xOffset=j.yOffset=0,j.scaleX=j.scaleY=j.scaleZ=1,ya("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{ 5175parser:function(a,b,c,d,f,h,i){if(d._lastParsedTransform===i)return f;d._lastParsedTransform=i;var j,k=i.scale&&"function"==typeof i.scale?i.scale:0;"function"==typeof i[c]&&(j=i[c],i[c]=b),k&&(i.scale=k(r,a));var l,m,n,o,p,s,t,u,v,w=a._gsTransform,x=a.style,y=1e-6,z=Ba.length,A=i,B={},C="transformOrigin",D=Ra(a,e,!0,A.parseTransform),E=A.transform&&("function"==typeof A.transform?A.transform(r,q):A.transform);if(D.skewType=A.skewType||D.skewType||g.defaultSkewType,d._transform=D,E&&"string"==typeof E&&Ca)m=Q.style,
vendor: 17,416 bytes, line 5175
5175m[Ca]=E,m.display="block",m.position="absolute",O.body.appendChild(Q),l=Ra(Q,null,!1),"simple"===D.skewType&&(l.scaleY*=Math.cos(l.skewX*K)),D.svg&&(s=D.xOrigin,t=D.yOrigin,l.x-=D.xOffset,l.y-=D.yOffset,(A.transformOrigin||A.svgOrigin)&&(E={},La(a,ha(A.transformOrigin),E,A.svgOrigin,A.smoothOrigin,!0),s=E.xOrigin,t=E.yOrigin,l.x-=E.xOffset-D.xOffset,l.y-=E.yOffset-D.yOffset),(s||t)&&(u=Qa(Q,!0),l.x-=s-(s*u[0]+t*u[2]),l.y-=t-(s*u[1]+t*u[3]))),O.body.removeChild(Q),l.perspective||(l.perspective=D.perspective),null!=A.xPercent&&(l.xPercent=ja(A.xPercent,D.xPercent)),null!=A.yPercent&&(l.yPercent=ja(A.yPercent,D.yPercent));else if("object"==typeof A){if(l={scaleX:ja(null!=A.scaleX?A.scaleX:A.scale,D.scaleX),scaleY:ja(null!=A.scaleY?A.scaleY:A.scale,D.scaleY),scaleZ:ja(A.scaleZ,D.scaleZ),x:ja(A.x,D.x),y:ja(A.y,D.y),z:ja(A.z,D.z),xPercent:ja(A.xPercent,D.xPercent),yPercent:ja(A.yPercent,D.yPercent),perspective:ja(A.transformPerspective,D.perspective)},p=A.directionalRotation,null!=p)if("object"==typeof p)for(m in p)A[m]=p[m];else A.rotation=p;"string"==typeof A.x&&-1!==A.x.indexOf("%")&&(l.x=0,l.xPercent=ja(A.x,D.xPercent)),"string"==typeof A.y&&-1!==A.y.indexOf("%")&&(l.y=0,l.yPercent=ja(A.y,D.yPercent)),l.rotation=ka("rotation"in A?A.rotation:"shortRotation"in A?A.shortRotation+"_short":"rotationZ"in A?A.rotationZ:D.rotation,D.rotation,"rotation",B),Fa&&(l.rotationX=ka("rotationX"in A?A.rotationX:"shortRotationX"in A?A.shortRotationX+"_short":D.rotationX||0,D.rotationX,"rotationX",B),l.rotationY=ka("rotationY"in A?A.rotationY:"shortRotationY"in A?A.shortRotationY+"_short":D.rotationY||0,D.rotationY,"rotationY",B)),l.skewX=ka(A.skewX,D.skewX),l.skewY=ka(A.skewY,D.skewY)}for(Fa&&null!=A.force3D&&(D.force3D=A.force3D,o=!0),n=D.force3D||D.z||D.rotationX||D.rotationY||l.z||l.rotationX||l.rotationY||l.perspective,n||null==A.scale||(l.scaleZ=1);--z>-1;)v=Ba[z],E=l[v]-D[v],(E>y||-y>E||null!=A[v]||null!=M[v])&&(o=!0,f=new ta(D,v,D[v],E,f),v in B&&(f.e=B[v]),f.xs0=0,f.plugin=h,d._overwriteProps.push(f.n));return E=A.transformOrigin,D.svg&&(E||A.svgOrigin)&&(s=D.xOffset,t=D.yOffset,La(a,ha(E),l,A.svgOrigin,A.smoothOrigin),f=ua(D,"xOrigin",(w?D:l).xOrigin,l.xOrigin,f,C),f=ua(D,"yOrigin",(w?D:l).yOrigin,l.yOrigin,f,C),(s!==D.xOffset||t!==D.yOffset)&&(f=ua(D,"xOffset",w?s:D.xOffset,D.xOffset,f,C),f=ua(D,"yOffset",w?t:D.yOffset,D.yOffset,f,C)),E="0px 0px"),(E||Fa&&n&&D.zOrigin)&&(Ca?(o=!0,v=Ea,E=(E||_(a,v,e,!1,"50% 50%"))+"",f=new ta(x,v,0,0,f,-1,C),f.b=x[v],f.plugin=h,Fa?(m=D.zOrigin,E=E.split(" "),D.zOrigin=(E.length>2&&(0===m||"0px"!==E[2])?parseFloat(E[2]):m)||0,f.xs0=f.e=E[0]+" "+(E[1]||"50%")+" 0px",f=new ta(D,"zOrigin",0,0,f,-1,f.n),f.b=m,f.xs0=f.e=D.zOrigin):f.xs0=f.e=E):ha(E+"",D)),o&&(d._transformType=D.svg&&Aa||!n&&3!==this._transformType?2:3),j&&(i[c]=j),k&&(i.scale=k),f},prefix:!0}),ya("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),ya("borderRadius",{defaultValue:"0px",parser:function(a,b,c,f,g,h){b=this.format(b);var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],z=a.style;for(q=parseFloat(a.offsetWidth),r=parseFloat(a.offsetHeight),i=b.split(" "),j=0;j<y.length;j++)this.p.indexOf("border")&&(y[j]=Z(y[j])),m=l=_(a,y[j],e,!1,"0px"),-1!==m.indexOf(" ")&&(l=m.split(" "),m=l[0],l=l[1]),n=k=i[j],o=parseFloat(m),t=m.substr((o+"").length),u="="===n.charAt(1),u?(p=parseInt(n.charAt(0)+"1",10),n=n.substr(2),p*=parseFloat(n),s=n.substr((p+"").length-(0>p?1:0))||""):(p=parseFloat(n),s=n.substr((p+"").length)),""===s&&(s=d[c]||t),s!==t&&(v=aa(a,"borderLeft",o,t),w=aa(a,"borderTop",o,t),"%"===s?(m=v/q*100+"%",l=w/r*100+"%"):"em"===s?(x=aa(a,"borderLeft",1,"em"),m=v/x+"em",l=w/x+"em"):(m=v+"px",l=w+"px"),u&&(n=parseFloat(m)+p+s,k=parseFloat(l)+p+s)),g=va(z,y[j],m+" "+l,n+" "+k,!1,"0px",g);return g},prefix:!0,formatter:qa("0px 0px 0px 0px",!1,!0)}),ya("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(a,b,c,d,f,g){return va(a.style,c,this.format(_(a,c,e,!1,"0px 0px")),this.format(b),!1,"0px",f)},prefix:!0,formatter:qa("0px 0px",!1,!0)}),ya("backgroundPosition",{defaultValue:"0 0",parser:function(a,b,c,d,f,g){var h,i,j,k,l,m,n="background-position",o=e||$(a,null),q=this.format((o?p?o.getPropertyValue(n+"-x")+" "+o.getPropertyValue(n+"-y"):o.getPropertyValue(n):a.currentStyle.backgroundPositionX+" "+a.currentStyle.backgroundPositionY)||"0 0"),r=this.format(b);if(-1!==q.indexOf("%")!=(-1!==r.indexOf("%"))&&r.split(",").length<2&&(m=_(a,"backgroundImage").replace(D,""),m&&"none"!==m)){for(h=q.split(" "),i=r.split(" "),R.setAttribute("src",m),j=2;--j>-1;)q=h[j],k=-1!==q.indexOf("%"),k!==(-1!==i[j].indexOf("%"))&&(l=0===j?a.offsetWidth-R.width:a.offsetHeight-R.height,h[j]=k?parseFloat(q)/100*l+"px":parseFloat(q)/l*100+"%");q=h.join(" ")}return this.parseComplex(a.style,q,r,f,g)},formatter:ha}),ya("backgroundSize",{defaultValue:"0 0",formatter:function(a){return a+="",ha(-1===a.indexOf(" ")?a+" "+a:a)}}),ya("perspective",{defaultValue:"0px",prefix:!0}),ya("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),ya("transformStyle",{prefix:!0}),ya("backfaceVisibility",{prefix:!0}),ya("userSelect",{prefix:!0}),ya("margin",{parser:ra("marginTop,marginRight,marginBottom,marginLeft")}),ya("padding",{parser:ra("paddingTop,paddingRight,paddingBottom,paddingLeft")}),ya("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(a,b,c,d,f,g){var h,i,j;return 9>p?(i=a.currentStyle,j=8>p?" ":",",h="rect("+i.clipTop+j+i.clipRight+j+i.clipBottom+j+i.clipLeft+")",b=this.format(b).split(",").join(j)):(h=this.format(_(a,this.p,e,!1,this.dflt)),b=this.format(b)),this.parseComplex(a.style,h,b,f,g)}}),ya("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),ya("autoRound,strictUnits",{parser:function(a,b,c,d,e){return e}}),ya("border",{defaultValue:"0px solid #000",parser:function(a,b,c,d,f,g){var h=_(a,"borderTopWidth",e,!1,"0px"),i=this.format(b).split(" "),j=i[0].replace(w,"");return"px"!==j&&(h=parseFloat(h)/aa(a,"borderTopWidth",1,j)+j),this.parseComplex(a.style,this.format(h+" "+_(a,"borderTopStyle",e,!1,"solid")+" "+_(a,"borderTopColor",e,!1,"#000")),i.join(" "),f,g)},color:!0,formatter:function(a){var b=a.split(" ");return b[0]+" "+(b[1]||"solid")+" "+(a.match(pa)||["#000"])[0]}}),ya("borderWidth",{parser:ra("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),ya("float,cssFloat,styleFloat",{parser:function(a,b,c,d,e,f){var g=a.style,h="cssFloat"in g?"cssFloat":"styleFloat";return new ta(g,h,0,0,e,-1,c,!1,0,g[h],b)}});var Ua=function(a){var b,c=this.t,d=c.filter||_(this.data,"filter")||"",e=this.s+this.c*a|0;100===e&&(-1===d.indexOf("atrix(")&&-1===d.indexOf("radient(")&&-1===d.indexOf("oader(")?(c.removeAttribute("filter"),b=!_(this.data,"filter")):(c.filter=d.replace(z,""),b=!0)),b||(this.xn1&&(c.filter=d=d||"alpha(opacity="+e+")"),-1===d.indexOf("pacity")?0===e&&this.xn1||(c.filter=d+" alpha(opacity="+e+")"):c.filter=d.replace(x,"opacity="+e))};ya("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(a,b,c,d,f,g){var h=parseFloat(_(a,"opacity",e,!1,"1")),i=a.style,j="autoAlpha"===c;return"string"==typeof b&&"="===b.charAt(1)&&(b=("-"===b.charAt(0)?-1:1)*parseFloat(b.substr(2))+h),j&&1===h&&"hidden"===_(a,"visibility",e)&&0!==b&&(h=0),U?f=new ta(i,"opacity",h,b-h,f):(f=new ta(i,"opacity",100*h,100*(b-h),f),f.xn1=j?1:0,i.zoom=1,f.type=2,f.b="alpha(opacity="+f.s+")",f.e="alpha(opacity="+(f.s+f.c)+")",f.data=a,f.plugin=g,f.setRatio=Ua),j&&(f=new ta(i,"visibility",0,0,f,-1,null,!1,0,0!==h?"inherit":"hidden",0===b?"hidden":"inherit"),f.xs0="inherit",d._overwriteProps.push(f.n),d._overwriteProps.push(c)),f}});var Va=function(a,b){b&&(a.removeProperty?(("ms"===b.substr(0,2)||"webkit"===b.substr(0,6))&&(b="-"+b),a.removeProperty(b.replace(B,"-$1").toLowerCase())):a.removeAttribute(b))},Wa=function(a){if(this.t._gsClassPT=this,1===a||0===a){this.t.setAttribute("class",0===a?this.b:this.e);for(var b=this.data,c=this.t.style;b;)b.v?c[b.p]=b.v:Va(c,b.p),b=b._next;1===a&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};ya("className",{parser:function(a,b,d,f,g,h,i){var j,k,l,m,n,o=a.getAttribute("class")||"",p=a.style.cssText;if(g=f._classNamePT=new ta(a,d,0,0,g,2),g.setRatio=Wa,g.pr=-11,c=!0,g.b=o,k=ca(a,e),l=a._gsClassPT){for(m={},n=l.data;n;)m[n.p]=1,n=n._next;l.setRatio(1)}return a._gsClassPT=g,g.e="="!==b.charAt(1)?b:o.replace(new RegExp("(?:\\s|^)"+b.substr(2)+"(?![\\w-])"),"")+("+"===b.charAt(0)?" "+b.substr(2):""),a.setAttribute("class",g.e),j=da(a,k,ca(a),i,m),a.setAttribute("class",o),g.data=j.firstMPT,a.style.cssText=p,g=g.xfirst=f.parse(a,j.difs,g,h)}});var Xa=function(a){if((1===a||0===a)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var b,c,d,e,f,g=this.t.style,h=i.transform.parse;if("all"===this.e)g.cssText="",e=!0;else for(b=this.e.split(" ").join("").split(","),d=b.length;--d>-1;)c=b[d],i[c]&&(i[c].parse===h?e=!0:c="transformOrigin"===c?Ea:i[c].p),Va(g,c);e&&(Va(g,Ca),f=this.t._gsTransform,f&&(f.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(ya("clearProps",{parser:function(a,b,d,e,f){return f=new ta(a,d,0,0,f,2),f.setRatio=Xa,f.e=b,f.pr=-10,f.data=e._tween,c=!0,f}}),j="bezier,throwProps,physicsProps,physics2D".split(","),wa=j.length;wa--;)za(j[wa]);j=g.prototype,j._firstPT=j._lastParsedTransform=j._transform=null,j._onInitTween=function(a,b,h,j){if(!a.nodeType)return!1;this._target=q=a,this._tween=h,this._vars=b,r=j,k=b.autoRound,c=!1,d=b.suffixMap||g.suffixMap,e=$(a,""),f=this._overwriteProps;var n,p,s,t,u,v,w,x,z,A=a.style;if(l&&""===A.zIndex&&(n=_(a,"zIndex",e),("auto"===n||""===n)&&this._addLazySet(A,"zIndex",0)),"string"==typeof b&&(t=A.cssText,n=ca(a,e),A.cssText=t+";"+b,n=da(a,n,ca(a)).difs,!U&&y.test(b)&&(n.opacity=parseFloat(RegExp.$1)),b=n,A.cssText=t),b.className?this._firstPT=p=i.className.parse(a,b.className,"className",this,null,null,b):this._firstPT=p=this.parse(a,b,null),this._transformType){for(z=3===this._transformType,Ca?m&&(l=!0,""===A.zIndex&&(w=_(a,"zIndex",e),("auto"===w||""===w)&&this._addLazySet(A,"zIndex",0)),o&&this._addLazySet(A,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(z?"visible":"hidden"))):A.zoom=1,s=p;s&&s._next;)s=s._next;x=new ta(a,"transform",0,0,null,2),this._linkCSSP(x,null,s),x.setRatio=Ca?Ta:Sa,x.data=this._transform||Ra(a,e,!0),x.tween=h,x.pr=-1,f.pop()}if(c){for(;p;){for(v=p._next,s=t;s&&s.pr>p.pr;)s=s._next;(p._prev=s?s._prev:u)?p._prev._next=p:t=p,(p._next=s)?s._prev=p:u=p,p=v}this._firstPT=t}return!0},j.parse=function(a,b,c,f){var g,h,j,l,m,n,o,p,s,t,u=a.style;for(g in b){if(n=b[g],"function"==typeof n&&(n=n(r,q)),h=i[g])c=h.parse(a,n,g,this,c,f,b);else{if("--"===g.substr(0,2)){this._tween._propLookup[g]=this._addTween.call(this._tween,a.style,"setProperty",$(a).getPropertyValue(g)+"",n+"",g,!1,g);continue}m=_(a,g,e)+"",s="string"==typeof n,"color"===g||"fill"===g||"stroke"===g||-1!==g.indexOf("Color")||s&&A.test(n)?(s||(n=na(n),n=(n.length>3?"rgba(":"rgb(")+n.join(",")+")"),c=va(u,g,m,n,!0,"transparent",c,0,f)):s&&J.test(n)?c=va(u,g,m,n,!0,null,c,0,f):(j=parseFloat(m),o=j||0===j?m.substr((j+"").length):"",(""===m||"auto"===m)&&("width"===g||"height"===g?(j=ga(a,g,e),o="px"):"left"===g||"top"===g?(j=ba(a,g,e),o="px"):(j="opacity"!==g?0:1,o="")),t=s&&"="===n.charAt(1),t?(l=parseInt(n.charAt(0)+"1",10),n=n.substr(2),l*=parseFloat(n),p=n.replace(w,"")):(l=parseFloat(n),p=s?n.replace(w,""):""),""===p&&(p=g in d?d[g]:o),n=l||0===l?(t?l+j:l)+p:b[g],o!==p&&(""!==p||"lineHeight"===g)&&(l||0===l)&&j&&(j=aa(a,g,j,o),"%"===p?(j/=aa(a,g,100,"%")/100,b.strictUnits!==!0&&(m=j+"%")):"em"===p||"rem"===p||"vw"===p||"vh"===p?j/=aa(a,g,1,p):"px"!==p&&(l=aa(a,g,l,p),p="px"),t&&(l||0===l)&&(n=l+j+p)),t&&(l+=j),!j&&0!==j||!l&&0!==l?void 0!==u[g]&&(n||n+""!="NaN"&&null!=n)?(c=new ta(u,g,l||j||0,0,c,-1,g,!1,0,m,n),c.xs0="none"!==n||"display"!==g&&-1===g.indexOf("Style")?n:m):W("invalid "+g+" tween value: "+b[g]):(c=new ta(u,g,j,l-j,c,0,g,k!==!1&&("px"===p||"zIndex"===g),0,m,n),c.xs0=p))}f&&c&&!c.plugin&&(c.plugin=f)}return c},j.setRatio=function(a){var b,c,d,e=this._firstPT,f=1e-6;if(1!==a||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(a||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;e;){if(b=e.c*a+e.s,e.r?b=Math.round(b):f>b&&b>-f&&(b=0),e.type)if(1===e.type)if(d=e.l,2===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2;else if(3===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3;else if(4===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4;else if(5===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4+e.xn4+e.xs5;else{for(c=e.xs0+b+e.xs1,d=1;d<e.l;d++)c+=e["xn"+d]+e["xs"+(d+1)];e.t[e.p]=c}else-1===e.type?e.t[e.p]=e.xs0:e.setRatio&&e.setRatio(a);else e.t[e.p]=b+e.xs0;e=e._next}else for(;e;)2!==e.type?e.t[e.p]=e.b:e.setRatio(a),e=e._next;else for(;e;){if(2!==e.type)if(e.r&&-1!==e.type)if(b=Math.round(e.s+e.c),e.type){if(1===e.type){for(d=e.l,c=e.xs0+b+e.xs1,d=1;d<e.l;d++)c+=e["xn"+d]+e["xs"+(d+1)];e.t[e.p]=c}}else e.t[e.p]=b+e.xs0;else e.t[e.p]=e.e;else e.setRatio(a);e=e._next}},j._enableTransforms=function(a){this._transform=this._transform||Ra(this._target,e,!0),this._transformType=this._transform.svg&&Aa||!a&&3!==this._transformType?2:3};var Ya=function(a){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};j._addLazySet=function(a,b,c){var d=this._firstPT=new ta(a,b,0,0,this._firstPT,2);d.e=c,d.setRatio=Ya,d.data=this},j._linkCSSP=function(a,b,c,d){return a&&(b&&(b._prev=a),a._next&&(a._next._prev=a._prev),a._prev?a._prev._next=a._next:this._firstPT===a&&(this._firstPT=a._next,d=!0),c?c._next=a:d||null!==this._firstPT||(this._firstPT=a),a._next=b,a._prev=c),a},j._mod=function(a){for(var b=this._firstPT;b;)"function"==typeof a[b.p]&&a[b.p]===Math.round&&(b.r=1),b=b._next},j._kill=function(b){var c,d,e,f=b;if(b.autoAlpha||b.alpha){f={};for(d in b)f[d]=b[d];f.opacity=1,f.autoAlpha&&(f.visibility=1)}for(b.className&&(c=this._classNamePT)&&(e=c.xfirst,e&&e._prev?this._linkCSSP(e._prev,c._next,e._prev._prev):e===this._firstPT&&(this._firstPT=c._next),c._next&&this._linkCSSP(c._next,c._next._next,e._prev),this._classNamePT=null),c=this._firstPT;c;)c.plugin&&c.plugin!==d&&c.plugin._kill&&(c.plugin._kill(b),d=c.plugin),c=c._next;return a.prototype._kill.call(this,f)};var Za=function(a,b,c){var d,e,f,g;if(a.slice)for(e=a.length;--e>-1;)Za(a[e],b,c);else for(d=a.childNodes,e=d.length;--e>-1;)f=d[e],g=f.type,f.style&&(b.push(ca(f)),c&&c.push(f)),1!==g&&9!==g&&11!==g||!f.childNodes.length||Za(f,b,c)};return g.cascadeTo=function(a,c,d){var e,f,g,h,i=b.to(a,c,d),j=[i],k=[],l=[],m=[],n=b._internals.reservedProps;for(a=i._targets||i.target,Za(a,k,m),i.render(c,!0,!0),Za(a,l),i.render(0,!0,!0),i._enabled(!0),e=m.length;--e>-1;)if(f=da(m[e],k[e],l[e]),f.firstMPT){f=f.difs;for(g in d)n[g]&&(f[g]=d[g]);h={};for(g in f)h[g]=k[e][g];j.push(b.fromTo(m[e],c,h,f))}return j},a.activate([g]),g},!0),function(){var a=_gsScope._gsDefine.plugin({propName:"roundProps",version:"1.6.0",priority:-1,API:2,init:function(a,b,c){return this._tween=c,!0}}),b=function(a){for(;a;)a.f||a.blob||(a.m=Math.round),a=a._next},c=a.prototype;c._onInitAllProps=function(){for(var a,c,d,e=this._tween,f=e.vars.roundProps.join?e.vars.roundProps:e.vars.roundProps.split(","),g=f.length,h={},i=e._propLookup.roundProps;--g>-1;)h[f[g]]=Math.round;for(g=f.length;--g>-1;)for(a=f[g],c=e._firstPT;c;)d=c._next,c.pg?c.t._mod(h):c.n===a&&(2===c.f&&c.t?b(c.t._firstPT):(this._add(c.t,a,c.s,c.c),d&&(d._prev=c._prev),c._prev?c._prev._next=d:e._firstPT===c&&(e._firstPT=d),c._next=c._prev=null,e._propLookup[a]=i)),c=d;return!1},c._add=function(a,b,c,d){this._addTween(a,b,c,c+d,b,Math.round),this._overwriteProps.push(b)}}(),function(){_gsScope._gsDefine.plugin({propName:"attr",API:2,version:"0.6.1",init:function(a,b,c,d){var e,f;if("function"!=typeof a.setAttribute)return!1;for(e in b)f=b[e],"function"==typeof f&&(f=f(d,a)),this._addTween(a,"setAttribute",a.getAttribute(e)+"",f+"",e,!1,e),this._overwriteProps.push(e);return!0}})}(),_gsScope._gsDefine.plugin({propName:"directionalRotation",version:"0.3.1",API:2,init:function(a,b,c,d){"object"!=typeof b&&(b={rotation:b}),this.finals={};var e,f,g,h,i,j,k=b.useRadians===!0?2*Math.PI:360,l=1e-6;for(e in b)"useRadians"!==e&&(h=b[e],"function"==typeof h&&(h=h(d,a)),j=(h+"").split("_"),f=j[0],g=parseFloat("function"!=typeof a[e]?a[e]:a[e.indexOf("set")||"function"!=typeof a["get"+e.substr(3)]?e:"get"+e.substr(3)]()),h=this.finals[e]="string"==typeof f&&"="===f.charAt(1)?g+parseInt(f.charAt(0)+"1",10)*Number(f.substr(2)):Number(f)||0,i=h-g,j.length&&(f=j.join("_"),-1!==f.indexOf("short")&&(i%=k,i!==i%(k/2)&&(i=0>i?i+k:i-k)),-1!==f.indexOf("_cw")&&0>i?i=(i+9999999999*k)%k-(i/k|0)*k:-1!==f.indexOf("ccw")&&i>0&&(i=(i-9999999999*k)%k-(i/k|0)*k)),(i>l||-l>i)&&(this._addTween(a,e,g,g+i,e),this._overwriteProps.push(e)));return!0},set:function(a){var b;if(1!==a)this._super.setRatio.call(this,a);else for(b=this._firstPT;b;)b.f?b.t[b.p](this.finals[b.p]):b.t[b.p]=this.finals[b.p],b=b._next}})._autoCSS=!0,_gsScope._gsDefine("easing.Back",["easing.Ease"],function(a){var b,c,d,e
vendor: 2,556 bytes, line 5175
5175,f=_gsScope.GreenSockGlobals||_gsScope,g=f.com.greensock,h=2*Math.PI,i=Math.PI/2,j=g._class,k=function(b,c){var d=j("easing."+b,function(){},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,d},l=a.register||function(){},m=function(a,b,c,d,e){var f=j("easing."+a,{easeOut:new b,easeIn:new c,easeInOut:new d},!0);return l(f,a),f},n=function(a,b,c){this.t=a,this.v=b,c&&(this.next=c,c.prev=this,this.c=c.v-b,this.gap=c.t-a)},o=function(b,c){var d=j("easing."+b,function(a){this._p1=a||0===a?a:1.70158,this._p2=1.525*this._p1},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,e.config=function(a){return new d(a)},d},p=m("Back",o("BackOut",function(a){return(a-=1)*a*((this._p1+1)*a+this._p1)+1}),o("BackIn",function(a){return a*a*((this._p1+1)*a-this._p1)}),o("BackInOut",function(a){return(a*=2)<1?.5*a*a*((this._p2+1)*a-this._p2):.5*((a-=2)*a*((this._p2+1)*a+this._p2)+2)})),q=j("easing.SlowMo",function(a,b,c){b=b||0===b?b:.7,null==a?a=.7:a>1&&(a=1),this._p=1!==a?b:0,this._p1=(1-a)/2,this._p2=a,this._p3=this._p1+this._p2,this._calcEnd=c===!0},!0),r=q.prototype=new a;return r.constructor=q,r.getRatio=function(a){var b=a+(.5-a)*this._p;return a<this._p1?this._calcEnd?1-(a=1-a/this._p1)*a:b-(a=1-a/this._p1)*a*a*a*b:a>this._p3?this._calcEnd?1===a?0:1-(a=(a-this._p3)/this._p1)*a:b+(a-b)*(a=(a-this._p3)/this._p1)*a*a*a:this._calcEnd?1:b},q.ease=new q(.7,.7),r.config=q.config=function(a,b,c){return new q(a,b,c)},b=j("easing.SteppedEase",function(a,b){a=a||1,this._p1=1/a,this._p2=a+(b?0:1),this._p3=b?1:0},!0),r=b.prototype=new a,r.constructor=b,r.getRatio=function(a){return 0>a?a=0:a>=1&&(a=.999999999),((this._p2*a|0)+this._p3)*this._p1},r.config=b.config=function(a,c){return new b(a,c)},c=j("easing.ExpoScaleEase",function(a,b,c){this._p1=Math.log(b/a),this._p2=b-a,this._p3=a,this._ease=c},!0),r=c.prototype=new a,r.constructor=c,r.getRatio=function(a){return this._ease&&(a=this._ease.getRatio(a)),(this._p3*Math.exp(this._p1*a)-this._p3)/this._p2},r.config=c.config=function(a,b,d){return new c(a,b,d)},d=j("easing.RoughEase",function(b){b=b||{};for(var c,d,e,f,g,h,i=b.taper||"none",j=[],k=0,l=0|(b.points||20),m=l,o=b.randomize!==!1,p=b.clamp===!0,q=b.template instanceof a?b.template:null,r="number"==typeof b.strength?.4*b.strength:.4;--m>-1;)c=o?Math.random():1/l*m,d=q?q.getRatio(c):c,"none"===i?e=r:"out"===i?(f=1-c,e=f*f*r):"in"===i?e=c*c*r:.5>c?(f=2*c,e=f*f*.5*r):(f=2*(1-c),e=f*f*.5*r),o?d+=Math.random()*e-.5*e:m%2?d+=.5*e:d-=.5*e,p&&(d>1?d=1:0>d&&(d=0)),j[k++]={x:c,y:d};for(j.sort(function(a,b){return a.x-b.x}
vendor: 4,137 bytes, line 5175
5175),h=new n(1,1,null),m=l;--m>-1;)g=j[m],h=new n(g.x,g.y,h);this._prev=new n(0,0,0!==h.t?h:h.next)},!0),r=d.prototype=new a,r.constructor=d,r.getRatio=function(a){var b=this._prev;if(a>b.t){for(;b.next&&a>=b.t;)b=b.next;b=b.prev}else for(;b.prev&&a<=b.t;)b=b.prev;return this._prev=b,b.v+(a-b.t)/b.gap*b.c},r.config=function(a){return new d(a)},d.ease=new d,m("Bounce",k("BounceOut",function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}),k("BounceIn",function(a){return(a=1-a)<1/2.75?1-7.5625*a*a:2/2.75>a?1-(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1-(7.5625*(a-=2.25/2.75)*a+.9375):1-(7.5625*(a-=2.625/2.75)*a+.984375)}),k("BounceInOut",function(a){var b=.5>a;return a=b?1-2*a:2*a-1,a=1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375,b?.5*(1-a):.5*a+.5})),m("Circ",k("CircOut",function(a){return Math.sqrt(1-(a-=1)*a)}),k("CircIn",function(a){return-(Math.sqrt(1-a*a)-1)}),k("CircInOut",function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)})),e=function(b,c,d){var e=j("easing."+b,function(a,b){this._p1=a>=1?a:1,this._p2=(b||d)/(1>a?a:1),this._p3=this._p2/h*(Math.asin(1/this._p1)||0),this._p2=h/this._p2},!0),f=e.prototype=new a;return f.constructor=e,f.getRatio=c,f.config=function(a,b){return new e(a,b)},e},m("Elastic",e("ElasticOut",function(a){return this._p1*Math.pow(2,-10*a)*Math.sin((a-this._p3)*this._p2)+1},.3),e("ElasticIn",function(a){return-(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2))},.3),e("ElasticInOut",function(a){return(a*=2)<1?-.5*(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(a-=1))*Math.sin((a-this._p3)*this._p2)*.5+1},.45)),m("Expo",k("ExpoOut",function(a){return 1-Math.pow(2,-10*a)}),k("ExpoIn",function(a){return Math.pow(2,10*(a-1))-.001}),k("ExpoInOut",function(a){return(a*=2)<1?.5*Math.pow(2,10*(a-1)):.5*(2-Math.pow(2,-10*(a-1)))})),m("Sine",k("SineOut",function(a){return Math.sin(a*i)}),k("SineIn",function(a){return-Math.cos(a*i)+1}),k("SineInOut",function(a){return-.5*(Math.cos(Math.PI*a)-1)})),j("easing.EaseLookup",{find:function(b){return a.map[b]}},!0),l(f.SlowMo,"SlowMo","ease,"),l(d,"RoughEase","ease,"),l(b,"SteppedEase","ease,"),p},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a,b){"use strict";var c={},d=a.document,e=a.GreenSockGlobals=a.GreenSockGlobals||a;if(!e.TweenLite){var f,g,h,i,j,k=function(a){var b,c=a.split("."),d=e;for(b=0;b<c.length;b++)d[c[b]]=d=d[c[b]]||{};return d},l=k("com.greensock"),m=1e-10,n=function(a){var b,c=[],d=a.length;for(b=0;b!==d;c.push(a[b++]));return c},o=function(){},p=function(){var a=Object.prototype.toString,b=a.call([]);return function(c){return null!=c&&(c instanceof Array||"object"==typeof c&&!!c.push&&a.call(c)===b)}}(),q={},r=function(d,f,g,h){this.sc=q[d]?q[d].sc:[],q[d]=this,this.gsClass=null,this.func=g;var i=[];this.check=function(j){for(var l,m,n,o,p=f.length,s=p;--p>-1;)(l=q[f[p]]||new r(f[p],[])).gsClass?(i[p]=l.gsClass,s--):j&&l.sc.push(this);if(0===s&&g){if(m=("com.greensock."+d).split("."),n=m.pop(),o=k(m.join("."))[n]=this.gsClass=g.apply(g,i),h)if(e[n]=c[n]=o,"undefined"!=typeof module&&module.exports)if(d===b){module.exports=c[b]=o;for(p in c)o[p]=c[p]}else c[b]&&(c[b][n]=o);else"function"==typeof define&&define.amd&&define((a.GreenSockAMDPath?a.GreenSockAMDPath+"/":"")+d.split(".").pop(),[],function(){return o});for(p=0;p<this.sc.length;p++)this.sc[p].check()}},this.check(!0)},s=a._gsDefine=function(a,b,c,d){return new r(a,b,c,d)},t=l._class=function(a,b,c){return b=b||function(){},s(a,[],function(){return b},c),b};s.globals=e;var u=[0,0,1,1],v=t("easing.Ease",function(a,b,c,d){this._func=a,this._type=c||0,this._power=d||0,this._params=b?u.concat(b):u},!0),w=v.map={},x=v.register=function(a,b,c,d){for(var e,f,g,h,i=b.split(","),j=i.length,k=(c||"easeIn,easeOut,easeInOut").split(",");--j>-1;)for(f=i[j],e=d?t("easing."+f,null,!0):l.easing[f]||{},g=k.length;--g>-1;)h=k[g],w[f+"."+h]=w[h+f]=e[h]=a.getRatio?a:a[h]||new a};
vendor: 17,622 bytes, lines 5175-5176
5175for(h=v.prototype,h._calcEnd=!1,h.getRatio=function(a){if(this._func)return this._params[0]=a,this._func.apply(null,this._params);var b=this._type,c=this._power,d=1===b?1-a:2===b?a:.5>a?2*a:2*(1-a);return 1===c?d*=d:2===c?d*=d*d:3===c?d*=d*d*d:4===c&&(d*=d*d*d*d),1===b?1-d:2===b?d:.5>a?d/2:1-d/2},f=["Linear","Quad","Cubic","Quart","Quint,Strong"],g=f.length;--g>-1;)h=f[g]+",Power"+g,x(new v(null,null,1,g),h,"easeOut",!0),x(new v(null,null,2,g),h,"easeIn"+(0===g?",easeNone":"")),x(new v(null,null,3,g),h,"easeInOut");w.linear=l.easing.Linear.easeIn,w.swing=l.easing.Quad.easeInOut;var y=t("events.EventDispatcher",function(a){this._listeners={},this._eventTarget=a||this});h=y.prototype,h.addEventListener=function(a,b,c,d,e){e=e||0;var f,g,h=this._listeners[a],k=0;for(this!==i||j||i.wake(),null==h&&(this._listeners[a]=h=[]),g=h.length;--g>-1;)f=h[g],f.c===b&&f.s===c?h.splice(g,1):0===k&&f.pr<e&&(k=g+1);h.splice(k,0,{c:b,s:c,up:d,pr:e})},h.removeEventListener=function(a,b){var c,d=this._listeners[a];if(d)for(c=d.length;--c>-1;)if(d[c].c===b)return void d.splice(c,1)},h.dispatchEvent=function(a){var b,c,d,e=this._listeners[a];if(e)for(b=e.length,b>1&&(e=e.slice(0)),c=this._eventTarget;--b>-1;)d=e[b],d&&(d.up?d.c.call(d.s||c,{type:a,target:c}):d.c.call(d.s||c))};var z=a.requestAnimationFrame,A=a.cancelAnimationFrame,B=Date.now||function(){return(new Date).getTime()},C=B();for(f=["ms","moz","webkit","o"],g=f.length;--g>-1&&!z;)z=a[f[g]+"RequestAnimationFrame"],A=a[f[g]+"CancelAnimationFrame"]||a[f[g]+"CancelRequestAnimationFrame"];t("Ticker",function(a,b){var c,e,f,g,h,k=this,l=B(),n=b!==!1&&z?"auto":!1,p=500,q=33,r="tick",s=function(a){var b,d,i=B()-C;i>p&&(l+=i-q),C+=i,k.time=(C-l)/1e3,b=k.time-h,(!c||b>0||a===!0)&&(k.frame++,h+=b+(b>=g?.004:g-b),d=!0),a!==!0&&(f=e(s)),d&&k.dispatchEvent(r)};y.call(k),k.time=k.frame=0,k.tick=function(){s(!0)},k.lagSmoothing=function(a,b){return arguments.length?(p=a||1/m,void(q=Math.min(b,p,0))):1/m>p},k.sleep=function(){null!=f&&(n&&A?A(f):clearTimeout(f),e=o,f=null,k===i&&(j=!1))},k.wake=function(a){null!==f?k.sleep():a?l+=-C+(C=B()):k.frame>10&&(C=B()-p+5),e=0===c?o:n&&z?z:function(a){return setTimeout(a,1e3*(h-k.time)+1|0)},k===i&&(j=!0),s(2)},k.fps=function(a){return arguments.length?(c=a,g=1/(c||60),h=this.time+g,void k.wake()):c},k.useRAF=function(a){return arguments.length?(k.sleep(),n=a,void k.fps(c)):n},k.fps(a),setTimeout(function(){"auto"===n&&k.frame<5&&"hidden"!==(d||{}).visibilityState&&k.useRAF(!1)},1500)}),h=l.Ticker.prototype=new l.events.EventDispatcher,h.constructor=l.Ticker;var D=t("core.Animation",function(a,b){if(this.vars=b=b||{},this._duration=this._totalDuration=a||0,this._delay=Number(b.delay)||0,this._timeScale=1,this._active=b.immediateRender===!0,this.data=b.data,this._reversed=b.reversed===!0,X){j||i.wake();var c=this.vars.useFrames?W:X;c.add(this,c._time),this.vars.paused&&this.paused(!0)}});i=D.ticker=new l.Ticker,h=D.prototype,h._dirty=h._gc=h._initted=h._paused=!1,h._totalTime=h._time=0,h._rawPrevTime=-1,h._next=h._last=h._onUpdate=h._timeline=h.timeline=null,h._paused=!1;var E=function(){j&&B()-C>2e3&&("hidden"!==(d||{}).visibilityState||!i.lagSmoothing())&&i.wake();var a=setTimeout(E,2e3);a.unref&&a.unref()};E(),h.play=function(a,b){return null!=a&&this.seek(a,b),this.reversed(!1).paused(!1)},h.pause=function(a,b){return null!=a&&this.seek(a,b),this.paused(!0)},h.resume=function(a,b){return null!=a&&this.seek(a,b),this.paused(!1)},h.seek=function(a,b){return this.totalTime(Number(a),b!==!1)},h.restart=function(a,b){return this.reversed(!1).paused(!1).totalTime(a?-this._delay:0,b!==!1,!0)},h.reverse=function(a,b){return null!=a&&this.seek(a||this.totalDuration(),b),this.reversed(!0).paused(!1)},h.render=function(a,b,c){},h.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},h.isActive=function(){var a,b=this._timeline,c=this._startTime;return!b||!this._gc&&!this._paused&&b.isActive()&&(a=b.rawTime(!0))>=c&&a<c+this.totalDuration()/this._timeScale-1e-7},h._enabled=function(a,b){return j||i.wake(),this._gc=!a,this._active=this.isActive(),b!==!0&&(a&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!a&&this.timeline&&this._timeline._remove(this,!0)),!1},h._kill=function(a,b){return this._enabled(!1,!1)},h.kill=function(a,b){return this._kill(a,b),this},h._uncache=function(a){for(var b=a?this:this.timeline;b;)b._dirty=!0,b=b.timeline;return this},h._swapSelfInParams=function(a){for(var b=a.length,c=a.concat();--b>-1;)"{self}"===a[b]&&(c[b]=this);return c},h._callback=function(a){var b=this.vars,c=b[a],d=b[a+"Params"],e=b[a+"Scope"]||b.callbackScope||this,f=d?d.length:0;switch(f){case 0:c.call(e);break;case 1:c.call(e,d[0]);break;case 2:c.call(e,d[0],d[1]);break;default:c.apply(e,d)}},h.eventCallback=function(a,b,c,d){if("on"===(a||"").substr(0,2)){var e=this.vars;if(1===arguments.length)return e[a];null==b?delete e[a]:(e[a]=b,e[a+"Params"]=p(c)&&-1!==c.join("").indexOf("{self}")?this._swapSelfInParams(c):c,e[a+"Scope"]=d),"onUpdate"===a&&(this._onUpdate=b)}return this},h.delay=function(a){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+a-this._delay),this._delay=a,this):this._delay},h.duration=function(a){return arguments.length?(this._duration=this._totalDuration=a,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==a&&this.totalTime(this._totalTime*(a/this._duration),!0),this):(this._dirty=!1,this._duration)},h.totalDuration=function(a){return this._dirty=!1,arguments.length?this.duration(a):this._totalDuration},h.time=function(a,b){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(a>this._duration?this._duration:a,b)):this._time},h.totalTime=function(a,b,c){if(j||i.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>a&&!c&&(a+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var d=this._totalDuration,e=this._timeline;if(a>d&&!c&&(a=d),this._startTime=(this._paused?this._pauseTime:e._time)-(this._reversed?d-a:a)/this._timeScale,e._dirty||this._uncache(!1),e._timeline)for(;e._timeline;)e._timeline._time!==(e._startTime+e._totalTime)/e._timeScale&&e.totalTime(e._totalTime,!0),e=e._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==a||0===this._duration)&&(J.length&&Z(),this.render(a,b,!1),J.length&&Z())}return this},h.progress=h.totalProgress=function(a,b){var c=this.duration();return arguments.length?this.totalTime(c*a,b):c?this._time/c:this.ratio},h.startTime=function(a){return arguments.length?(a!==this._startTime&&(this._startTime=a,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,a-this._delay)),this):this._startTime},h.endTime=function(a){return this._startTime+(0!=a?this.totalDuration():this.duration())/this._timeScale},h.timeScale=function(a){if(!arguments.length)return this._timeScale;var b,c;for(a=a||m,this._timeline&&this._timeline.smoothChildTiming&&(b=this._pauseTime,c=b||0===b?b:this._timeline.totalTime(),this._startTime=c-(c-this._startTime)*this._timeScale/a),this._timeScale=a,c=this.timeline;c&&c.timeline;)c._dirty=!0,c.totalDuration(),c=c.timeline;return this},h.reversed=function(a){return arguments.length?(a!=this._reversed&&(this._reversed=a, 5176this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},h.paused=function(a){if(!arguments.length)return this._paused;var b,c,d=this._timeline;return a!=this._paused&&d&&(j||a||i.wake(),b=d.rawTime(),c=b-this._pauseTime,!a&&d.smoothChildTiming&&(this._startTime+=c,this._uncache(!1)),this._pauseTime=a?b:null,this._paused=a,this._active=this.isActive(),!a&&0!==c&&this._initted&&this.duration()&&(b=d.smoothChildTiming?this._totalTime:(b-this._startTime)/this._timeScale,this.render(b,b===this._totalTime,!0))),this._gc&&!a&&this._enabled(!0,!1),this};var F=t("core.SimpleTimeline",function(a){D.call(this,0,a),this.autoRemoveChildren=this.smoothChildTiming=!0});h=F.prototype=new D,h.constructor=F,h.kill()._gc=!1,h._first=h._last=h._recent=null,h._sortChildren=!1,h.add=h.insert=function(a,b,c,d){var e,f;if(a._startTime=Number(b||0)+a._delay,a._paused&&this!==a._timeline&&(a._pauseTime=a._startTime+(this.rawTime()-a._startTime)/a._timeScale),a.timeline&&a.timeline._remove(a,!0),a.timeline=a._timeline=this,a._gc&&a._enabled(!0,!0),e=this._last,this._sortChildren)for(f=a._startTime;e&&e._startTime>f;)e=e._prev;return e?(a._next=e._next,e._next=a):(a._next=this._first,this._first=a),a._next?a._next._prev=a:this._last=a,a._prev=e,this._recent=a,this._timeline&&this._uncache(!0),this},h._remove=function(a,b){return a.timeline===this&&(b||a._enabled(!1,!0),a._prev?a._prev._next=a._next:this._first===a&&(this._first=a._next),a._next?a._next._prev=a._prev:this._last===a&&(this._last=a._prev),a._next=a._prev=a.timeline=null,a===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},h.render=function(a,b,c){var d,e=this._first;for(this._totalTime=this._time=this._rawPrevTime=a;e;)d=e._next,(e._active||a>=e._startTime&&!e._paused&&!e._gc)&&(e._reversed?e.render((e._dirty?e.totalDuration():e._totalDuration)-(a-e._startTime)*e._timeScale,b,c):e.render((a-e._startTime)*e._timeScale,b,c)),e=d},h.rawTime=function(){return j||i.wake(),this._totalTime};var G=t("TweenLite",function(b,c,d){if(D.call(this,c,d),this.render=G.prototype.render,null==b)throw"Cannot tween a null target.";this.target=b="string"!=typeof b?b:G.selector(b)||b;var e,f,g,h=b.jquery||b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType),i=this.vars.overwrite;if(this._overwrite=i=null==i?V[G.defaultOverwrite]:"number"==typeof i?i>>0:V[i],(h||b instanceof Array||b.push&&p(b))&&"number"!=typeof b[0])for(this._targets=g=n(b),this._propLookup=[],this._siblings=[],e=0;e<g.length;e++)f=g[e],f?"string"!=typeof f?f.length&&f!==a&&f[0]&&(f[0]===a||f[0].nodeType&&f[0].style&&!f.nodeType)?(g.splice(e--,1),this._targets=g=g.concat(n(f))):(this._siblings[e]=$(f,this,!1),1===i&&this._siblings[e].length>1&&aa(f,this,null,1,this._siblings[e])):(f=g[e--]=G.selector(f),"string"==typeof f&&g.splice(e+1,1)):g.splice(e--,1);else this._propLookup={},this._siblings=$(b,this,!1),1===i&&this._siblings.length>1&&aa(b,this,null,1,this._siblings);(this.vars.immediateRender||0===c&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-m,this.render(Math.min(0,-this._delay)))},!0),H=function(b){return b&&b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType)},I=function(a,b){var c,d={};for(c in a)U[c]||c in b&&"transform"!==c&&"x"!==c&&"y"!==c&&"width"!==c&&"height"!==c&&"className"!==c&&"border"!==c||!(!R[c]||R[c]&&R[c]._autoCSS)||(d[c]=a[c],delete a[c]);a.css=d};h=G.prototype=new D,h.constructor=G,h.kill()._gc=!1,h.ratio=0,h._firstPT=h._targets=h._overwrittenProps=h._startAt=null,h._notifyPluginsOfEnabled=h._lazy=!1,G.version="1.20.4",G.defaultEase=h._ease=new v(null,null,1,1),G.defaultOverwrite="auto",G.ticker=i,G.autoSleep=120,G.lagSmoothing=function(a,b){i.lagSmoothing(a,b)},G.selector=a.$||a.jQuery||function(b){var c=a.$||a.jQuery;return c?(G.selector=c,c(b)):"undefined"==typeof d?b:d.querySelectorAll?d.querySelectorAll(b):d.getElementById("#"===b.charAt(0)?b.substr(1):b)};var J=[],K={},L=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,M=/[\+-]=-?[\.\d]/,N=function(a){for(var b,c=this._firstPT,d=1e-6;c;)b=c.blob?1===a&&null!=this.end?this.end:a?this.join(""):this.start:c.c*a+c.s,c.m?b=c.m(b,this._target||c.t):d>b&&b>-d&&!c.blob&&(b=0),c.f?c.fp?c.t[c.p](c.fp,b):c.t[c.p](b):c.t[c.p]=b,c=c._next},O=function(a,b,c,d){var e,f,g,h,i,j,k,l=[],m=0,n="",o=0;for(l.start=a,l.end=b,a=l[0]=a+"",b=l[1]=b+"",c&&(c(l),a=l[0],b=l[1]),l.length=0,e=a.match(L)||[],f=b.match(L)||[],d&&(d._next=null,d.blob=1,l._firstPT=l._applyPT=d),i=f.length,h=0;i>h;h++)k=f[h],j=b.substr(m,b.indexOf(k,m)-m),n+=j||!h?j:",",m+=j.length,o?o=(o+1)%5:"rgba("===j.substr(-5)&&(o=1),k===e[h]||e.length<=h?n+=k:(n&&(l.push(n),n=""),g=parseFloat(e[h]),l.push(g),l._firstPT={_next:l._firstPT,t:l,p:l.length-1,s:g,c:("="===k.charAt(1)?parseInt(k.charAt(0)+"1",10)*parseFloat(k.substr(2)):parseFloat(k)-g)||0,f:0,m:o&&4>o?Math.round:0}),m+=k.length;return n+=b.substr(m),n&&l.push(n),l.setRatio=N,M.test(b)&&(l.end=null),l},P=function(a,b,c,d,e,f,g,h,i){"function"==typeof d&&(d=d(i||0,a));var j,k=typeof a[b],l="function"!==k?"":b.indexOf("set")||"function"!=typeof a["get"+b.substr(3)]?b:"get"+b.substr(3),m="get"!==c?c:l?g?a[l](g):a[l]():a[b],n="string"==typeof d&&"="===d.charAt(1),o={t:a,p:b,s:m,f:"function"===k,pg:0,n:e||b,m:f?"function"==typeof f?f:Math.round:0,pr:0,c:n?parseInt(d.charAt(0)+"1",10)*parseFloat(d.substr(2)):parseFloat(d)-m||0};return("number"!=typeof m||"number"!=typeof d&&!n)&&(g||isNaN(m)||!n&&isNaN(d)||"boolean"==typeof m||"boolean"==typeof d?(o.fp=g,j=O(m,n?parseFloat(o.s)+o.c+(o.s+"").replace(/[0-9\-\.]/g,""):d,h||G.defaultStringFilter,o),o={t:j,p:"setRatio",s:0,c:1,f:2,pg:0,n:e||b,pr:0,m:0}):(o.s=parseFloat(m),n||(o.c=parseFloat(d)-o.s||0))),o.c?((o._next=this._firstPT)&&(o._next._prev=o),this._firstPT=o,o):void 0},Q=G._internals={isArray:p,isSelector:H,lazyTweens:J,blobDif:O},R=G._plugins={},S=Q.tweenLookup={},T=0,U=Q.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},V={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},W=D._rootFramesTimeline=new F,X=D._rootTimeline=new F,Y=30,Z=Q.lazyRender=function(){var a,b=J.length;for(K={};--b>-1;)a=J[b],a&&a._lazy!==!1&&(a.render(a._lazy[0],a._lazy[1],!0),a._lazy=!1);J.length=0};X._startTime=i.time,W._startTime=i.frame,X._active=W._active=!0,setTimeout(Z,1),D._updateRoot=G.render=function(){var a,b,c;if(J.length&&Z(),X.render((i.time-X._startTime)*X._timeScale,!1,!1),W.render((i.frame-W._startTime)*W._timeScale,!1,!1),J.length&&Z(),i.frame>=Y){Y=i.frame+(parseInt(G.autoSleep,10)||120);for(c in S){for(b=S[c].tweens,a=b.length;--a>-1;)b[a]._gc&&b.splice(a,1);0===b.length&&delete S[c]}if(c=X._first,(!c||c._paused)&&G.autoSleep&&!W._first&&1===i._listeners.tick.length){for(;c&&c._paused;)c=c._next;c||i.sleep()}}},i.addEventListener("tick",D._updateRoot);var $=function(a,b,c){var d,e,f=a._gsTweenID;if(S[f||(a._gsTweenID=f="t"+T++)]||(S[f]={target:a,tweens:[]}),b&&(d=S[f].tweens,d[e=d.length]=b,c))for(;--e>-1;)d[e]===b&&d.splice(e,1);return S[f].tweens},_=function(a,b,c,d){var e,f,g=a.vars.onOverwrite;return g&&(e=g(a,b,c,d)),g=G.onOverwrite,g&&(f=g(a,b,c,d)),e!==!1&&f!==!1},aa=function(a,b,c,d,e){var f,g,h,i;if(1===d||d>=4){for(i=e.length,f=0;i>f;f++)if((h=e[f])!==b)h._gc||h._kill(null,a,b)&&(g=!0);else if(5===d)break;return g}var j,k=b._startTime+m,l=[],n=0,o=0===b._duration;for(f=e.length;--f>-1;)(h=e[f])===b||h._gc||h._paused||(h._timeline!==b._timeline?(j=j||ba(b,0,o),0===ba(h,j,o)&&(l[n++]=h)):h._startTime<=k&&h._startTime+h.totalDuration()/h._timeScale>k&&((o||!h._initted)&&k-h._startTime<=2e-10||(l[n++]=h)));for(f=n;--f>-1;)if(h=l[f],2===d&&h._kill(c,a,b)&&(g=!0),2!==d||!h._firstPT&&h._initted){if(2!==d&&!_(h,b))continue;h._enabled(!1,!1)&&(g=!0)}return g},ba=function(a,b,c){for(var d=a._timeline,e=d._timeScale,f=a._startTime;d._timeline;){if(f+=d._startTime,e*=d._timeScale,d._paused)return-100;d=d._timeline}return f/=e,f>b?f-b:c&&f===b||!a._initted&&2*m>f-b?m:(f+=a.totalDuration()/a._timeScale/e)>b+m?0:f-b-m};h._init=function(){var a,b,c,d,e,f,g=this.vars,h=this._overwrittenProps,i=this._duration,j=!!g.immediateRender,k=g.ease;if(g.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),e={};for(d in g.startAt)e[d]=g.startAt[d];if(e.data="isStart",e.overwrite=!1,e.immediateRender=!0,e.lazy=j&&g.lazy!==!1,e.startAt=e.delay=null,e.onUpdate=g.onUpdate,e.onUpdateParams=g.onUpdateParams,e.onUpdateScope=g.onUpdateScope||g.callbackScope||this,this._startAt=G.to(this.target,0,e),j)if(this._time>0)this._startAt=null;else if(0!==i)return}else if(g.runBackwards&&0!==i)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(j=!1),c={};for(d in g)U[d]&&"autoCSS"!==d||(c[d]=g[d]);if(c.overwrite=0,c.data="isFromStart",c.lazy=j&&g.lazy!==!1,c.immediateRender=j,this._startAt=G.to(this.target,0,c),j){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=k=k?k instanceof v?k:"function"==typeof k?new v(k,g.easeParams):w[k]||G.defaultEase:G.defaultEase,g.easeParams instanceof Array&&k.config&&(this._ease=k.config.apply(k,g.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(f=this._targets.length,a=0;f>a;a++)this._initProps(this._targets[a],this._propLookup[a]={},this._siblings[a],h?h[a]:null,a)&&(b=!0);else b=this._initProps(this.target,this._propLookup,this._siblings,h,0);if(b&&G._onPluginEvent("_onInitAllProps",this),h&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),g.runBackwards)for(c=this._firstPT;c;)c.s+=c.c,c.c=-c.c,c=c._next;this._onUpdate=g.onUpdate,this._initted=!0}
vendor: 4,158 bytes, line 5176
5176,h._initProps=function(b,c,d,e,f){var g,h,i,j,k,l;if(null==b)return!1;K[b._gsTweenID]&&Z(),this.vars.css||b.style&&b!==a&&b.nodeType&&R.css&&this.vars.autoCSS!==!1&&I(this.vars,b);for(g in this.vars)if(l=this.vars[g],U[g])l&&(l instanceof Array||l.push&&p(l))&&-1!==l.join("").indexOf("{self}")&&(this.vars[g]=l=this._swapSelfInParams(l,this));else if(R[g]&&(j=new R[g])._onInitTween(b,this.vars[g],this,f)){for(this._firstPT=k={_next:this._firstPT,t:j,p:"setRatio",s:0,c:1,f:1,n:g,pg:1,pr:j._priority,m:0},h=j._overwriteProps.length;--h>-1;)c[j._overwriteProps[h]]=this._firstPT;(j._priority||j._onInitAllProps)&&(i=!0),(j._onDisable||j._onEnable)&&(this._notifyPluginsOfEnabled=!0),k._next&&(k._next._prev=k)}else c[g]=P.call(this,b,g,"get",l,g,0,null,this.vars.stringFilter,f);return e&&this._kill(e,b)?this._initProps(b,c,d,e,f):this._overwrite>1&&this._firstPT&&d.length>1&&aa(b,this,c,this._overwrite,d)?(this._kill(c,b),this._initProps(b,c,d,e,f)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(K[b._gsTweenID]=!0),i)},h.render=function(a,b,c){var d,e,f,g,h=this._time,i=this._duration,j=this._rawPrevTime;if(a>=i-1e-7&&a>=0)this._totalTime=this._time=i,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(d=!0,e="onComplete",c=c||this._timeline.autoRemoveChildren),0===i&&(this._initted||!this.vars.lazy||c)&&(this._startTime===this._timeline._duration&&(a=0),(0>j||0>=a&&a>=-1e-7||j===m&&"isPause"!==this.data)&&j!==a&&(c=!0,j>m&&(e="onReverseComplete")),this._rawPrevTime=g=!b||a||j===a?a:m);else if(1e-7>a)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==h||0===i&&j>0)&&(e="onReverseComplete",d=this._reversed),0>a&&(this._active=!1,0===i&&(this._initted||!this.vars.lazy||c)&&(j>=0&&(j!==m||"isPause"!==this.data)&&(c=!0),this._rawPrevTime=g=!b||a||j===a?a:m)),(!this._initted||this._startAt&&this._startAt.progress())&&(c=!0);else if(this._totalTime=this._time=a,this._easeType){var k=a/i,l=this._easeType,n=this._easePower;(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===n?k*=k:2===n?k*=k*k:3===n?k*=k*k*k:4===n&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:.5>a/i?this.ratio=k/2:this.ratio=1-k/2}else this.ratio=this._ease.getRatio(a/i);if(this._time!==h||c){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!c&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=h,this._rawPrevTime=j,J.push(this),void(this._lazy=[a,b]);this._time&&!d?this.ratio=this._ease.getRatio(this._time/i):d&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==h&&a>=0&&(this._active=!0),0===h&&(this._startAt&&(a>=0?this._startAt.render(a,!0,c):e||(e="_dummyGS")),this.vars.onStart&&(0!==this._time||0===i)&&(b||this._callback("onStart"))),f=this._firstPT;f;)f.f?f.t[f.p](f.c*this.ratio+f.s):f.t[f.p]=f.c*this.ratio+f.s,f=f._next;this._onUpdate&&(0>a&&this._startAt&&a!==-1e-4&&this._startAt.render(a,!0,c),b||(this._time!==h||d||c)&&this._callback("onUpdate")),e&&(!this._gc||c)&&(0>a&&this._startAt&&!this._onUpdate&&a!==-1e-4&&this._startAt.render(a,!0,c),d&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[e]&&this._callback(e),0===i&&this._rawPrevTime===m&&g!==m&&(this._rawPrevTime=0))}},h._kill=function(a,b,c){if("all"===a&&(a=null),null==a&&(null==b||b===this.target))return this._lazy=!1,this._enabled(!1,!1);b="string"!=typeof b?b||this._targets||this.target:G.selector(b)||b;var d,e,f,g,h,i,j,k,l,m=c&&this._time&&c._startTime===this._startTime&&this._timeline===c._timeline;if((p(b)||H(b))&&"number"!=typeof b[0])for(d=b.length;--d>-1;)this._kill(a,b[d],c)&&(i=!0);else{if(this._targets){for(d=this._targets.length;--d>-1;)if(b===this._targets[d]){h=this._propLookup[d]||{},this._overwrittenProps=this._overwrittenProps||[],e=this._overwrittenProps[d]=a?this._overwrittenProps[d]||{}:"all";break}}else{if(b!==this.target)return!1;h=this._propLookup,e=this._overwrittenProps=a?this._overwrittenProps||{}:"all"}
vendor: 4,625 bytes, lines 5176-5187
5176if(h){if(j=a||h,k=a!==e&&"all"!==e&&a!==h&&("object"!=typeof a||!a._tempKill),c&&(G.onOverwrite||this.vars.onOverwrite)){for(f in j)h[f]&&(l||(l=[]),l.push(f));if((l||!a)&&!_(this,c,b,l))return!1}for(f in j)(g=h[f])&&(m&&(g.f?g.t[g.p](g.s):g.t[g.p]=g.s,i=!0),g.pg&&g.t._kill(j)&&(i=!0),g.pg&&0!==g.t._overwriteProps.length||(g._prev?g._prev._next=g._next:g===this._firstPT&&(this._firstPT=g._next),g._next&&(g._next._prev=g._prev),g._next=g._prev=null),delete h[f]),k&&(e[f]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return i},h.invalidate=function(){return this._notifyPluginsOfEnabled&&G._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],D.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-m,this.render(Math.min(0,-this._delay))),this},h._enabled=function(a,b){if(j||i.wake(),a&&this._gc){var c,d=this._targets;if(d)for(c=d.length;--c>-1;)this._siblings[c]=$(d[c],this,!0);else this._siblings=$(this.target,this,!0)}return D.prototype._enabled.call(this,a,b),this._notifyPluginsOfEnabled&&this._firstPT?G._onPluginEvent(a?"_onEnable":"_onDisable",this):!1},G.to=function(a,b,c){return new G(a,b,c)},G.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new G(a,b,c)},G.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new G(a,b,d)},G.delayedCall=function(a,b,c,d,e){return new G(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,lazy:!1,useFrames:e,overwrite:0})},G.set=function(a,b){return new G(a,0,b)},G.getTweensOf=function(a,b){if(null==a)return[];a="string"!=typeof a?a:G.selector(a)||a;var c,d,e,f;if((p(a)||H(a))&&"number"!=typeof a[0]){for(c=a.length,d=[];--c>-1;)d=d.concat(G.getTweensOf(a[c],b));for(c=d.length;--c>-1;)for(f=d[c],e=c;--e>-1;)f===d[e]&&d.splice(c,1)}else if(a._gsTweenID)for(d=$(a).concat(),c=d.length;--c>-1;)(d[c]._gc||b&&!d[c].isActive())&&d.splice(c,1);return d||[]},G.killTweensOf=G.killDelayedCallsTo=function(a,b,c){"object"==typeof b&&(c=b,b=!1);for(var d=G.getTweensOf(a,b),e=d.length;--e>-1;)d[e]._kill(c,a)};var ca=t("plugins.TweenPlugin",function(a,b){this._overwriteProps=(a||"").split(","),this._propName=this._overwriteProps[0],this._priority=b||0,this._super=ca.prototype},!0);if(h=ca.prototype,ca.version="1.19.0",ca.API=2,h._firstPT=null,h._addTween=P,h.setRatio=N,h._kill=function(a){var b,c=this._overwriteProps,d=this._firstPT;if(null!=a[this._propName])this._overwriteProps=[];else for(b=c.length;--b>-1;)null!=a[c[b]]&&c.splice(b,1);for(;d;)null!=a[d.n]&&(d._next&&(d._next._prev=d._prev),d._prev?(d._prev._next=d._next,d._prev=null):this._firstPT===d&&(this._firstPT=d._next)),d=d._next;return!1},h._mod=h._roundProps=function(a){for(var b,c=this._firstPT;c;)b=a[this._propName]||null!=c.n&&a[c.n.split(this._propName+"_").join("")],b&&"function"==typeof b&&(2===c.f?c.t._applyPT.m=b:c.m=b),c=c._next},G._onPluginEvent=function(a,b){var c,d,e,f,g,h=b._firstPT;if("_onInitAllProps"===a){for(;h;){for(g=h._next,d=e;d&&d.pr>h.pr;)d=d._next;(h._prev=d?d._prev:f)?h._prev._next=h:e=h,(h._next=d)?d._prev=h:f=h,h=g}h=b._firstPT=e}for(;h;)h.pg&&"function"==typeof h.t[a]&&h.t[a]()&&(c=!0),h=h._next;return c},ca.activate=function(a){for(var b=a.length;--b>-1;)a[b].API===ca.API&&(R[(new a[b])._propName]=a[b]);return!0},s.plugin=function(a){if(!(a&&a.propName&&a.init&&a.API))throw"illegal plugin definition.";var b,c=a.propName,d=a.priority||0,e=a.overwriteProps,f={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},g=t("plugins."+c.charAt(0).toUpperCase()+c.substr(1)+"Plugin",function(){ca.call(this,c,d),this._overwriteProps=e||[]},a.global===!0),h=g.prototype=new ca(c);h.constructor=g,g.API=a.API;for(b in f)"function"==typeof a[b]&&(h[f[b]]=a[b]);return g.version=a.version,ca.activate([g]),g},f=a._gsQueue){for(g=0;g<f.length;g++)f[g]();for(h in q)q[h].func||a.console.log("GSAP encountered missing dependency: "+h)}j=!1}}("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenMax"); 5177 5178 5179/*lightbox - pagespeed*/ 5180document.addEventListener("DOMContentLoaded", function() { 5181 const closeButtons = document.querySelectorAll('.lb-close'); 5182 closeButtons.forEach(button => { 5183 button.setAttribute('href', '#'); 5184 button.setAttribute('role', 'button'); 5185 button.setAttribute('aria-label', 'ÎλείÏιμο'); 5186 }); 5187});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.