1(function(){'use strict';var KEEPALIVE_MARGIN='200% 0px';function text(key,fallback){var bag=(window.obA11y&&window.obA11y.strings)||{};return bag[key]||fallback} 2function globallyPaused(){return!!(window.obMotion&&window.obMotion.isPaused())} 3function labelFor(widget,index){var node=widget.parentElement;var hops=0;while(node&&hops<6){var heading=node.querySelector('h1, h2, h3, h4');if(heading){var title=heading.textContent.replace(/\s+/g,' ').trim();if(title){return title.slice(0,60)}} 4node=node.parentElement;hops+=1} 5return text('animation_ordinal','Animation')+' '+(index+1)} 6function settingsOf(widget){try{return JSON.parse(widget.getAttribute('data-settings')||'{}')}catch(e){return{}}} 7function instanceFor(container){var lottie=window.lottie||window.bodymovin;if(!lottie||'function'!==typeof lottie.getRegisteredAnimations){return null} 8var animations=lottie.getRegisteredAnimations()||[];for(var i=0;i<animations.length;i++){if(animations[i].wrapper===container){return animations[i]}} 9return null} 10function memoryAllows(){if(navigator.deviceMemory&&navigator.deviceMemory<4){return!1} 11var mem=window.performance&&window.performance.memory;if(mem&&mem.jsHeapSizeLimit){var headroom=(mem.jsHeapSizeLimit-mem.usedJSHeapSize)/mem.jsHeapSizeLimit;if(headroom<0.25){return!1}} 12return!0} 13function connectionIsExpensive(){var conn=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(!conn){return!1} 14if(conn.saveData){return!0} 15return['slow-2g','2g','3g'].indexOf(conn.effectiveType)!==-1} 16function prefetchAll(){if(connectionIsExpensive()){return} 17var widgets=document.querySelectorAll('.elementor-widget-lottie');var seen={};var urls=[];for(var i=0;i<widgets.length;i++){var url=(settingsOf(widgets[i]).source_json||{}).url;if(url&&!seen[url]){seen[url]=!0;urls.push(url)}}(function next(index){if(index>=urls.length){return} 18window.fetch(urls[index],{cache:'force-cache',credentials:'same-origin'}).then(function(response){return response.blob()}).catch(function(){}).then(function(){next(index+1)})})(0)} 19function whenIdle(fn){if('function'===typeof window.requestIdleCallback){window.requestIdleCallback(fn,{timeout:4000})}else{window.setTimeout(fn,2500)}} 20function setUp(widget,index){if(widget.dataset.obLottie){return} 21widget.dataset.obLottie='1';var host=widget.querySelector('.elementor-widget-container')||widget;var container=widget.querySelector('.e-lottie__animation');if(!container){return} 22var settings=settingsOf(widget);var label=labelFor(widget,index);var paused=globallyPaused();var destroyed=!1;var button=document.createElement('button');button.type='button';button.className='ob-a11y-lottie-toggle';button.innerHTML='<span aria-hidden="true">ââ</span>';function syncButton(){button.setAttribute('aria-pressed',paused?'true':'false');button.setAttribute('aria-label',(paused?text('motion_play_one','Play animation'):text('motion_pause_one','Pause animation'))+': '+label);button.firstChild.textContent=paused?'â¶':'ââ'} 23function setPaused(value){paused=value;var instance=instanceFor(container);if(instance){try{if(paused){instance.pause()}else{instance.play()}}catch(e){}} 24syncButton()} 25button.addEventListener('click',function(){setPaused(!paused)});host.appendChild(button);syncButton();if(window.obMotion&&window.obMotion.subscribe){window.obMotion.subscribe(function(isPaused){setPaused(isPaused)})} 26var tabsHost=widget.closest('.e-n-tabs');function nearViewport(element){var rect=element.getBoundingClientRect();var margin=window.innerHeight*2;return rect.bottom>-margin&&rect.top<window.innerHeight+margin} 27function shouldLive(){var rect=widget.getBoundingClientRect();if(rect.width<1||rect.height<1){if(tabsHost&&memoryAllows()&&nearViewport(tabsHost)){return!0} 28return!1} 29return nearViewport(widget)} 30function reconcile(){var alive=shouldLive();var instance=instanceFor(container);if(!alive&&instance){var rect=container.getBoundingClientRect();if(rect.height>1){container.style.minHeight=Math.round(rect.height)+'px'} 31try{instance.destroy();destroyed=!0}catch(e){} 32return} 33if(alive&&!instance&&!container.querySelector('svg')){var lottie=window.lottie||window.bodymovin;var url=settings.source_json&&settings.source_json.url;if(!lottie||!url){return} 34try{lottie.loadAnimation({container:container,renderer:settings.renderer||'svg',loop:'yes'===settings.loop,autoplay:!paused,path:url,});destroyed=!1;container.style.minHeight=''}catch(e){}}} 35widget.obLottieReconcile=reconcile;var pending=null;function schedule(){if(pending){return} 36pending=window.setTimeout(function(){pending=null;reconcile()},300)} 37window.addEventListener('scroll',schedule,{passive:!0});window.addEventListener('resize',schedule,{passive:!0});window.setInterval(reconcile,1000);document.addEventListener('visibilitychange',function(){if('visible'===document.visibilityState){reconcile()}});document.addEventListener('click',function(event){if(event.target.closest('[role="tab"], .e-n-tab-title')){
37window.setTimeout(reconcile,350)}},!0);window.setTimeout(reconcile,1500)} 38function init(){var widgets=document.querySelectorAll('.elementor-widget-lottie');for(var i=0;i<widgets.length;i++){setUp(widgets[i],i)} 39whenIdle(prefetchAll)} 40if('loading'===document.readyState){document.addEventListener('DOMContentLoaded',function(){window.setTimeout(init,1200)})}else{window.setTimeout(init,1200)}})()
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.