{"version":3,"sources":["temp/config.js","temp/componentFactory.tsx","lib/layout-service-factory.js","assets/sc_logo.svg","Layout.js","NotFound.js","RouteHandler.js","react-only-components/ScrollToTop/scrollToTop.tsx","AppRoot.js","lib/dictionary-service-factory.js","index.js","i18n.js","lib/GraphQLClientFactory.js"],"names":["module","exports","Accordion","Loadable","loader","signalComponentLoad","then","C","signalComponentLoaded","loading","modules","ApplicationLegend","AppointmentFormModalPopup","AxleCards","AxleCardsContainer","BannerWithAnimatedLeftSide","BannerWithCards","Breadcrumb","CallUsList","CardCompare","CardContainer","CardList","CardProductWrapper","CardsPress","Carousel","CarouselLazy","ContactModule","ContactUsFormModalPopup","ContactUsTemplate","CtaList","CustomSelect","DealerLocatorChineseModule","DealerLocatorModule","DescriptionWithSpecificationHighlights","Details","DoubleCtaList","DynamicCard","DynamicCardList","EAxleModelContainer","eAxleStage360Preview","EDrivelinesSolutions","EngineModelCards","EngineSeries","FAQ","Filter","FilterDetailPageStage","FindEngineTemplate","FindYourEngine","Footer","Form","FormContainerModule","GlobalPresenceNumbers","Header","History","Homepage","Hotspot","IconList","IFrameModule","ImageCtaList","InfiniteScroll","IvecoForm","LandingPageModule","Layout","Legend","LogoWall","MapContainer","NewsletterFormModalPopup","NumbersNeedsToFix","OilDistributionMap","OilsAndCoolants","OilsFilter","PageAboutUs","PageCategory","PageNewsletter","PageProduct","Pager","PageTitleModule","PerformanceAndDimensionsModule","PressRelease","Pulse","RelatedStories","Search","SearchResults","Share","Slider","SplitCarousel","SpotifyModule","Stage","Stage360Preview","StoryBanner","StoryCardList","Tabs","TabWithMap","Technologies","TechnologyMap","TextImageModule","TextLinksModule","TextModule","TextNumberModule","TextVideoModule","TransmissionCards","TwoValuesNumbers","window","undefined","componentsLoading","dispatchEvent","Event","components","Map","componentFactory","componentName","get","set","layoutServiceFactory","RestLayoutService","apiHost","config","sitecoreApiHost","apiKey","sitecoreApiKey","siteName","jssAppName","configurationName","Navigation","t","i18n","className","to","src","logo","alt","href","target","rel","withTranslation","props","REACT_VERSION","React","version","console","log","route","Main","useCallback","Placeholder","name","rendering","error","stack","sitecoreContext","useSitecoreContext","ArrowUp","memo","useState","showArrow","setShowArrow","handleNavigation","e","currentTarget","scrollY","useEffect","str","addEventListener","fields","value","document","head","insertAdjacentHTML","componentsLoaded","body","classList","add","requestIdleCallback","setTimeout","loadCookieLaw","loadAdditionalScripts","addSitecoreInfo","timeout","onClick","scroll","getTitle","pageTitle","length","brandTitle","Fragment","ContextExtensions","favicon","MetaDescription","content","MetaKeywords","Array","isArray","AlternateLink","links","map","item","index","hreflang","key","VisitorIdentification","backgroundColor","propsAreEqual","prevProps","nextProps","deepEqual","injectScriptsFromHTMLString","tpl","createElement","innerHTML","childNodes","forEach","child","node","tagName","script","text","attr","i","attrs","attributes","setAttribute","cloneNode","appendChild","context","onetrustcookie","bodyscript","formOneTrustScript","site","itemId","language","databaseName","NotFound","RouteHandler","state","notFound","defaultLanguage","routeData","updateLanguage","this","ssrRenderComplete","updateRouteData","sitecoreRoutePath","match","params","sitecoreRoute","startsWith","lang","create","fetchLayoutData","sitecore","updateSitecoreContext","setState","newLanguage","changeLanguage","previousProps","existingRoute","url","newRoute","isEditorActive","location","assign","Component","withSitecoreContext","updatable","ScrollToTop","pathname","useLocation","scrollTo","routePatterns","AppRoot","setSsrRenderComplete","ssrState","path","Router","graphQLClient","client","SitecoreContext","routePattern","render","dictionaryServiceFactory","RestDictionaryService","dataFetcher","AxiosDataFetcher","debugger","debug","dictionary","withCredentials","rejectUnauthorized","fetch","renderFunction","ReactDOM","initLanguage","__JSS_STATE__","ssrRawJson","getElementById","JSON","parse","hydrate","initialGraphQLState","APOLLO_STATE","endpoint","ssr","initialCacheState","link","createPersistedQueryLink","concat","BatchHttpLink","uri","headers","connection","sc_apikey","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","noModule","info","Promise","resolve","reject","options","lng","fallbackLng","load","useCookie","interpolation","escapeValue","isInitialized","addResourceBundle","use","initReactI18next","init","dictionaryServiceInstance","type","read","_namespace","callback","fetchDictionaryData","phrases","err","rootElement","BrowserRouter","preloadReady","onscroll","element","logolist","scrollTop","documentElement","querySelector","remove","scrollFunction"],"mappings":"26EAGAA,EAAOC,QAAU,CACf,eAAkB,aAClB,gBAAmB,wBACnB,WAAc,iBACd,gBAAmB,KACnB,oBAAuB,sBACvB,gBAAmB,6C,sWCFfC,EAAYC,IAAS,CAC1BC,OAAQ,WAEP,OADAC,KACO,+BAAsEC,MAAK,SAAAC,GAEjF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,eAILC,EAAoBR,IAAS,CAClCC,OAAQ,WAEP,OADAC,KACO,+BAAsFC,MAAK,SAAAC,GAEjG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,uBAILE,EAA4BT,IAAS,CAC1CC,OAAQ,WAEP,OADAC,KACO,gCAAsGC,MAAK,SAAAC,GAEjH,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,+BAILG,EAAYV,IAAS,CAC1BC,OAAQ,WAEP,OADAC,KACO,8DAAsEC,MAAK,SAAAC,GAEjF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,eAILI,EAAqBX,IAAS,CACnCC,OAAQ,WAEP,OADAC,KACO,uDAAwFC,MAAK,SAAAC,GAEnG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,wBAILK,EAA6BZ,IAAS,CAC3CC,OAAQ,WAEP,OADAC,KACO,sDAAwGC,MAAK,SAAAC,GAEnH,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gCAILM,EAAkBb,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,+DAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAILO,EAAad,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,gCAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAILQ,EAAaf,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,sDAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAILS,EAAchB,IAAS,CAC5BC,OAAQ,WAEP,OADAC,KACO,+BAA0EC,MAAK,SAAAC,GAErF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,iBAILU,EAAgBjB,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,sDAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAILW,EAAWlB,IAAS,CACzBC,OAAQ,WAEP,OADAC,KACO,gCAAoEC,MAAK,SAAAC,GAE/E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,cAILY,EAAqBnB,IAAS,CACnCC,OAAQ,WAEP,OADAC,KACO,+BAAwFC,MAAK,SAAAC,GAEnG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,wBAILa,EAAapB,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,gCAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAILc,EAAWrB,IAAS,CACzBC,OAAQ,WAEP,OADAC,KACO,4DAAoEC,MAAK,SAAAC,GAE/E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,cAILe,EAAetB,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,gCAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILgB,EAAgBvB,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,qDAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAILiB,EAA0BxB,IAAS,CACxCC,OAAQ,WAEP,OADAC,KACO,gCAAkGC,MAAK,SAAAC,GAE7G,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,6BAILkB,EAAoBzB,IAAS,CAClCC,OAAQ,WAEP,OADAC,KACO,sDAAsFC,MAAK,SAAAC,GAEjG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,uBAILmB,EAAU1B,IAAS,CACxBC,OAAQ,WAEP,OADAC,KACO,sDAAkEC,MAAK,SAAAC,GAE7E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,aAILoB,EAAe3B,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,+BAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILqB,EAA6B5B,IAAS,CAC3CC,OAAQ,WAEP,OADAC,KACO,gCAAwGC,MAAK,SAAAC,GAEnH,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gCAILsB,EAAsB7B,IAAS,CACpCC,OAAQ,WAEP,OADAC,KACO,8EAA0FC,MAAK,SAAAC,GAErG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,yBAILuB,EAAyC9B,IAAS,CACvDC,OAAQ,WAEP,OADAC,KACO,sDAAgIC,MAAK,SAAAC,GAE3I,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,4CAILwB,EAAU/B,IAAS,CACxBC,OAAQ,WAEP,OADAC,KACO,mEAAkEC,MAAK,SAAAC,GAE7E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,aAILyB,EAAgBhC,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,gCAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAIL0B,EAAcjC,IAAS,CAC5BC,OAAQ,WAEP,OADAC,KACO,+BAA0EC,MAAK,SAAAC,GAErF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,iBAIL2B,EAAkBlC,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,+DAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAIL4B,EAAsBnC,IAAS,CACpCC,OAAQ,WAEP,OADAC,KACO,sDAA0FC,MAAK,SAAAC,GAErG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,yBAIL6B,EAAuBpC,IAAS,CACrCC,OAAQ,WAEP,OADAC,KACO,+DAA4FC,MAAK,SAAAC,GAEvG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,0BAIL8B,EAAuBrC,IAAS,CACrCC,OAAQ,WAEP,OADAC,KACO,qEAA4FC,MAAK,SAAAC,GAEvG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,0BAIL+B,EAAmBtC,IAAS,CACjCC,OAAQ,WAEP,OADAC,KACO,4EAAoFC,MAAK,SAAAC,GAE/F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,sBAILgC,EAAevC,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,6DAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILiC,EAAMxC,IAAS,CACpBC,OAAQ,WAEP,OADAC,KACO,gCAA0DC,MAAK,SAAAC,GAErE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,SAILkC,GAASzC,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,8DAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAILmC,GAAwB1C,IAAS,CACtCC,OAAQ,WAEP,OADAC,KACO,4EAA8FC,MAAK,SAAAC,GAEzG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,2BAILoC,GAAqB3C,IAAS,CACnCC,OAAQ,WAEP,OADAC,KACO,qDAAwFC,MAAK,SAAAC,GAEnG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,wBAILqC,GAAiB5C,IAAS,CAC/BC,OAAQ,WAEP,OADAC,KACO,6DAAgFC,MAAK,SAAAC,GAE3F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,oBAILsC,GAAS7C,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,+DAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAILuC,GAAO9C,IAAS,CACrBC,OAAQ,WAEP,OADAC,KACO,uDAA4DC,MAAK,SAAAC,GAEvE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,UAILwC,GAAsB/C,IAAS,CACpCC,OAAQ,WAEP,OADAC,KACO,gCAA0FC,MAAK,SAAAC,GAErG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,yBAILyC,GAAwBhD,IAAS,CACtCC,OAAQ,WAEP,OADAC,KACO,sDAA8FC,MAAK,SAAAC,GAEzG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,2BAIL0C,GAASjD,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,sDAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAIL2C,GAAUlD,IAAS,CACxBC,OAAQ,WAEP,OADAC,KACO,+DAAkEC,MAAK,SAAAC,GAE7E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,aAIL4C,GAAWnD,IAAS,CACzBC,OAAQ,WAEP,OADAC,KACO,2EAAoEC,MAAK,SAAAC,GAE/E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,cAIL6C,GAAUpD,IAAS,CACxBC,OAAQ,WAEP,OADAC,KACO,sDAAkEC,MAAK,SAAAC,GAE7E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,aAIL8C,GAAWrD,IAAS,CACzBC,OAAQ,WAEP,OADAC,KACO,sDAAoEC,MAAK,SAAAC,GAE/E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,cAIL+C,GAAetD,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,gCAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILgD,GAAevD,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,gCAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILiD,GAAiBxD,IAAS,CAC/BC,OAAQ,WAEP,OADAC,KACO,+BAAgFC,MAAK,SAAAC,GAE3F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,oBAILkD,GAAYzD,IAAS,CAC1BC,OAAQ,WAEP,OADAC,KACO,6EAAsEC,MAAK,SAAAC,GAEjF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,eAILmD,GAAoB1D,IAAS,CAClCC,OAAQ,WAEP,OADAC,KACO,gEAAsFC,MAAK,SAAAC,GAEjG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,uBAILoD,GAAS3D,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,gCAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAILqD,GAAS5D,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,gCAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAILsD,GAAW7D,IAAS,CACzBC,OAAQ,WAEP,OADAC,KACO,gCAAoEC,MAAK,SAAAC,GAE/E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,cAILuD,GAAe9D,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,sDAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILwD,GAA2B/D,IAAS,CACzCC,OAAQ,WAEP,OADAC,KACO,gCAAoGC,MAAK,SAAAC,GAE/G,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,8BAILyD,GAAoBhE,IAAS,CAClCC,OAAQ,WAEP,OADAC,KACO,sDAAsFC,MAAK,SAAAC,GAEjG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,uBAIL0D,GAAqBjE,IAAS,CACnCC,OAAQ,WAEP,OADAC,KACO,8DAAwFC,MAAK,SAAAC,GAEnG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,wBAIL2D,GAAkBlE,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,gCAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAIL4D,GAAanE,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,8EAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAIL6D,GAAcpE,IAAS,CAC5BC,OAAQ,WAEP,OADAC,KACO,8EAA0EC,MAAK,SAAAC,GAErF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,iBAIL8D,GAAerE,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,6EAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAIL+D,GAAiBtE,IAAS,CAC/BC,OAAQ,WAEP,OADAC,KACO,sDAAgFC,MAAK,SAAAC,GAE3F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,oBAILgE,GAAcvE,IAAS,CAC5BC,OAAQ,WAEP,OADAC,KACO,sDAA0EC,MAAK,SAAAC,GAErF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,iBAILiE,GAAQxE,IAAS,CACtBC,OAAQ,WAEP,OADAC,KACO,+BAA8DC,MAAK,SAAAC,GAEzE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,WAILkE,GAAkBzE,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,gCAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAILmE,GAAiC1E,IAAS,CAC/CC,OAAQ,WAEP,OADAC,KACO,6DAAgHC,MAAK,SAAAC,GAE3H,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,oCAILoE,GAAe3E,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,sDAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILqE,GAAQ5E,IAAS,CACtBC,OAAQ,WAEP,OADAC,KACO,+BAA8DC,MAAK,SAAAC,GAEzE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,WAILsE,GAAiB7E,IAAS,CAC/BC,OAAQ,WAEP,OADAC,KACO,wDAAgFC,MAAK,SAAAC,GAE3F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,oBAILuE,GAAS9E,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,gCAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAILwE,GAAgB/E,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,gCAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAILyE,GAAQhF,IAAS,CACtBC,OAAQ,WAEP,OADAC,KACO,+BAA8DC,MAAK,SAAAC,GAEzE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,WAIL0E,GAASjF,IAAS,CACvBC,OAAQ,WAEP,OADAC,KACO,6EAAgEC,MAAK,SAAAC,GAE3E,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,YAIL2E,GAAgBlF,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,oEAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAIL4E,GAAgBnF,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,gCAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAIL6E,GAAQpF,IAAS,CACtBC,OAAQ,WAEP,OADAC,KACO,4EAA8DC,MAAK,SAAAC,GAEzE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,WAIL8E,GAAkBrF,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,sDAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAIL+E,GAActF,IAAS,CAC5BC,OAAQ,WAEP,OADAC,KACO,4EAA0EC,MAAK,SAAAC,GAErF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,iBAILgF,GAAgBvF,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,sEAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAILiF,GAAOxF,IAAS,CACrBC,OAAQ,WAEP,OADAC,KACO,gCAA4DC,MAAK,SAAAC,GAEvE,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,UAILkF,GAAazF,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,gCAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAILmF,GAAe1F,IAAS,CAC7BC,OAAQ,WAEP,OADAC,KACO,gEAA4EC,MAAK,SAAAC,GAEvF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,kBAILoF,GAAgB3F,IAAS,CAC9BC,OAAQ,WAEP,OADAC,KACO,uDAA8EC,MAAK,SAAAC,GAEzF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,mBAILqF,GAAkB5F,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,8EAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAILsF,GAAkB7F,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,yDAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAILuF,GAAa9F,IAAS,CAC3BC,OAAQ,WAEP,OADAC,KACO,gCAAwEC,MAAK,SAAAC,GAEnF,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,gBAILwF,GAAmB/F,IAAS,CACjCC,OAAQ,WAEP,OADAC,KACO,uDAAoFC,MAAK,SAAAC,GAE/F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,sBAILyF,GAAkBhG,IAAS,CAChCC,OAAQ,WAEP,OADAC,KACO,gEAAkFC,MAAK,SAAAC,GAE7F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,qBAIL0F,GAAoBjG,IAAS,CAClCC,OAAQ,WAEP,OADAC,KACO,uDAAsFC,MAAK,SAAAC,GAEjG,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,uBAIL2F,GAAmBlG,IAAS,CACjCC,OAAQ,WAEP,OADAC,KACO,uDAAoFC,MAAK,SAAAC,GAE/F,OADAC,KACOD,MAGTE,QAAS,kBAAM,8CACfC,QAAS,CAAC,sBAIX,SAASL,KACc,qBAAXiG,cACsBC,GAA5BD,OAAOE,kBACVF,OAAOE,kBAAoB,EAE3BF,OAAOE,qBAKV,SAAShG,KACc,qBAAX8F,QACNA,OAAOE,oBACVF,OAAOE,oBAE0B,IAA7BF,OAAOE,mBACVF,OAAOG,cAAc,IAAIC,MAAM,sBAMnC,IAAMC,GAAa,IAAIC,IA8FR,SAASC,GAAiBC,GACvC,OAAOH,GAAWI,IAAID,GA9FxBH,GAAWK,IAAI,YAAa9G,GAC5ByG,GAAWK,IAAI,oBAAqBrG,GACpCgG,GAAWK,IAAI,4BAA6BpG,GAC5C+F,GAAWK,IAAI,YAAanG,GAC5B8F,GAAWK,IAAI,qBAAsBlG,GACrC6F,GAAWK,IAAI,6BAA8BjG,GAC7C4F,GAAWK,IAAI,kBAAmBhG,GAClC2F,GAAWK,IAAI,aAAc/F,GAC7B0F,GAAWK,IAAI,aAAc9F,GAC7ByF,GAAWK,IAAI,cAAe7F,GAC9BwF,GAAWK,IAAI,gBAAiB5F,GAChCuF,GAAWK,IAAI,WAAY3F,GAC3BsF,GAAWK,IAAI,qBAAsB1F,GACrCqF,GAAWK,IAAI,aAAczF,GAC7BoF,GAAWK,IAAI,WAAYxF,GAC3BmF,GAAWK,IAAI,eAAgBvF,GAC/BkF,GAAWK,IAAI,gBAAiBtF,GAChCiF,GAAWK,IAAI,0BAA2BrF,GAC1CgF,GAAWK,IAAI,oBAAqBpF,GACpC+E,GAAWK,IAAI,UAAWnF,GAC1B8E,GAAWK,IAAI,eAAgBlF,GAC/B6E,GAAWK,IAAI,6BAA8BjF,GAC7C4E,GAAWK,IAAI,sBAAuBhF,GACtC2E,GAAWK,IAAI,yCAA0C/E,GACzD0E,GAAWK,IAAI,UAAW9E,GAC1ByE,GAAWK,IAAI,gBAAiB7E,GAChCwE,GAAWK,IAAI,cAAe5E,GAC9BuE,GAAWK,IAAI,kBAAmB3E,GAClCsE,GAAWK,IAAI,sBAAuB1E,GACtCqE,GAAWK,IAAI,uBAAwBzE,GACvCoE,GAAWK,IAAI,uBAAwBxE,GACvCmE,GAAWK,IAAI,mBAAoBvE,GACnCkE,GAAWK,IAAI,eAAgBtE,GAC/BiE,GAAWK,IAAI,MAAOrE,GACtBgE,GAAWK,IAAI,SAAUpE,IACzB+D,GAAWK,IAAI,wBAAyBnE,IACxC8D,GAAWK,IAAI,qBAAsBlE,IACrC6D,GAAWK,IAAI,iBAAkBjE,IACjC4D,GAAWK,IAAI,SAAUhE,IACzB2D,GAAWK,IAAI,OAAQ/D,IACvB0D,GAAWK,IAAI,sBAAuB9D,IACtCyD,GAAWK,IAAI,wBAAyB7D,IACxCwD,GAAWK,IAAI,SAAU5D,IACzBuD,GAAWK,IAAI,UAAW3D,IAC1BsD,GAAWK,IAAI,WAAY1D,IAC3BqD,GAAWK,IAAI,UAAWzD,IAC1BoD,GAAWK,IAAI,WAAYxD,IAC3BmD,GAAWK,IAAI,eAAgBvD,IAC/BkD,GAAWK,IAAI,eAAgBtD,IAC/BiD,GAAWK,IAAI,iBAAkBrD,IACjCgD,GAAWK,IAAI,YAAapD,IAC5B+C,GAAWK,IAAI,oBAAqBnD,IACpC8C,GAAWK,IAAI,SAAUlD,IACzB6C,GAAWK,IAAI,SAAUjD,IACzB4C,GAAWK,IAAI,WAAYhD,IAC3B2C,GAAWK,IAAI,eAAgB/C,IAC/B0C,GAAWK,IAAI,2BAA4B9C,IAC3CyC,GAAWK,IAAI,oBAAqB7C,IACpCwC,GAAWK,IAAI,qBAAsB5C,IACrCuC,GAAWK,IAAI,kBAAmB3C,IAClCsC,GAAWK,IAAI,aAAc1C,IAC7BqC,GAAWK,IAAI,cAAezC,IAC9BoC,GAAWK,IAAI,eAAgBxC,IAC/BmC,GAAWK,IAAI,iBAAkBvC,IACjCkC,GAAWK,IAAI,cAAetC,IAC9BiC,GAAWK,IAAI,QAASrC,IACxBgC,GAAWK,IAAI,kBAAmBpC,IAClC+B,GAAWK,IAAI,iCAAkCnC,IACjD8B,GAAWK,IAAI,eAAgBlC,IAC/B6B,GAAWK,IAAI,QAASjC,IACxB4B,GAAWK,IAAI,iBAAkBhC,IACjC2B,GAAWK,IAAI,SAAU/B,IACzB0B,GAAWK,IAAI,gBAAiB9B,IAChCyB,GAAWK,IAAI,QAAS7B,IACxBwB,GAAWK,IAAI,SAAU5B,IACzBuB,GAAWK,IAAI,gBAAiB3B,IAChCsB,GAAWK,IAAI,gBAAiB1B,IAChCqB,GAAWK,IAAI,QAASzB,IACxBoB,GAAWK,IAAI,kBAAmBxB,IAClCmB,GAAWK,IAAI,cAAevB,IAC9BkB,GAAWK,IAAI,gBAAiBtB,IAChCiB,GAAWK,IAAI,OAAQrB,IACvBgB,GAAWK,IAAI,aAAcpB,IAC7Be,GAAWK,IAAI,eAAgBnB,IAC/Bc,GAAWK,IAAI,gBAAiBlB,IAChCa,GAAWK,IAAI,kBAAmBjB,IAClCY,GAAWK,IAAI,kBAAmBhB,IAClCW,GAAWK,IAAI,aAAcf,IAC7BU,GAAWK,IAAI,mBAAoBd,IACnCS,GAAWK,IAAI,kBAAmBb,IAClCQ,GAAWK,IAAI,oBAAqBZ,IACpCO,GAAWK,IAAI,mBAAoBX,I,0ECvxCtBY,GAAuB,IAXpC,sFACE,WACE,OAAO,IAAIC,KAAkB,CAC3BC,QAASC,KAAOC,gBAChBC,OAAQF,KAAOG,eACfC,SAAUJ,KAAOK,WACjBC,kBAAmB,YANzB,M,6DCHe,I,4BAAA,IAA0B,qCC6BrCC,GAAa,gBAAGC,EAAH,EAAGA,EAAH,EAAMC,KAAN,OACf,sBAAKC,UAAU,4FAAf,UACE,oBAAIA,UAAU,qCAAd,SACE,cAAC,IAAD,CAASC,GAAG,IAAID,UAAU,YAA1B,SACE,qBAAKE,IAAKC,GAAMC,IAAI,iBAGxB,sBAAKJ,UAAU,uBAAf,UACE,mBACEA,UAAU,gBACVK,KAAK,2BACLC,OAAO,SACPC,IAAI,sBAJN,SAMGT,EAAE,mBAEL,cAAC,IAAD,CAASG,GAAG,cAAcD,UAAU,gBAApC,SACGF,EAAE,gBAEL,cAAC,IAAD,CAASG,GAAG,WAAWD,UAAU,gBAAjC,SACGF,EAAE,oBASXD,GAAaW,eAAkBX,IAE/B,IAAM7D,GAAS,SAACyE,GAAW,IAAD,oCAClBC,EAAgBC,IAAMC,QAC5BC,QAAQC,IAAIJ,GACZ,IAAQK,EAAUN,EAAVM,MAEFC,EAAOC,uBAAY,WACvB,IACE,OAAO,cAACC,GAAA,EAAD,CAAaC,KAAK,WAAWC,UAAWL,IAC/C,MAAOM,GAEP,OADAR,QAAQQ,MAAMA,GACP,mCAAGA,EAAMC,WAEjB,CAACP,IAEEQ,EAAkBC,eAClBC,EAAUd,IAAMe,MAAK,WACzB,MAAkCC,oBAAS,GAA3C,oBAAOC,EAAP,KAAkBC,EAAlB,KACMC,EAAmBb,uBAAY,SAACc,GACrBA,EAAEC,cACNC,QAAU,IACnBJ,GAAa,GAEbA,GAAa,KAEd,IA6DH,OA5DAK,qBAAU,WAAO,IAAD,MAOZ,IAciCC,QApBpB1D,IAAXD,QACFA,OAAO4D,iBAAiB,SAAUN,GAG7B,OAALf,QAAK,IAALA,GAAA,UAAAA,EAAOsB,cAAP,4BACAtB,QADA,IACAA,GADA,UACAA,EAAOsB,cADP,iBACA,oBADA,OACA,EAA+BC,SAeEH,EAbN,OAACpB,QAAD,IAACA,GAAD,UAACA,EAAOsB,cAAR,iBAAC,oBAAD,aAAC,EAA+BC,MActC,oBAAZC,UACTA,SAASC,KAAKC,mBAAmB,YAAaN,MAb/C,IAiBHD,qBAAU,WACR,IAAIQ,GAAmB,EACD,qBAAXlE,QAA6C,oBAAZ+D,UAC1C/D,OAAO4D,iBAAiB,oBAAoB,WACtCM,IAEJA,GAAmB,EACnBH,SAASI,KAAKC,UAAUC,IAAI,qBACxB,wBAAyBrE,OAC3BA,OAAOsE,qBACL,WACEtE,OAAOG,cAAc,IAAIC,MAAM,WAC/BmE,YAAW,WACTC,GAAczB,EAAgBA,iBAC9B0B,GAAsB1B,EAAgBA,iBACtC2B,GAAgB3B,EAAgBA,mBAC/B,OAEL,CACE4B,QAAS,OAIb3E,OAAOG,cAAc,IAAIC,MAAM,WAC/BmE,YAAW,WACTC,GAAczB,EAAgBA,iBAC9B0B,GAAsB1B,EAAgBA,iBACtC2B,GAAgB3B,EAAgBA,mBAC/B,YAIR,IAED,qBACE6B,QAAS,WACP5E,OAAO6E,OAAO,EAAG,IAEnBrD,UAAS,qBACP4B,EAAY,qBAAuB,wBALvC,SAQE,iCACE,mBAAG5B,UAAW,qBAAsB,eAAa,WAKnDsD,EAAWrC,uBAAY,WAAO,IAAD,UACjC,OAAI,OAACF,QAAD,IAACA,MAAOsB,UAAU,UAACtB,EAAMsB,cAAP,iBAAC,EAAckB,iBAAf,iBAAC,EAAyBjB,aAA1B,OAAC,EAAgCkB,QAAS,EACvD,QACL,UAAAzC,EAAMsB,OAAOoB,kBAAb,mBAAyBnB,aAAzB,eAAgCkB,QAAS,EACN,UAAjCzC,EAAMsB,OAAOkB,UAAUjB,MAClBvB,EAAMsB,OAAOoB,WAAWnB,MAE3B,GAAN,OAAUvB,EAAMsB,OAAOkB,UAAUjB,MAAjC,cAA4CvB,EAAMsB,OAAOoB,WAAWnB,OACxDvB,EAAMsB,OAAOkB,UAAUjB,QACpC,CAACvB,IAEJ,OACE,eAAC,IAAM2C,SAAP,WAEE,eAAC,KAAD,YACkB,OAAfnC,QAAe,IAAfA,GAAA,UAAAA,EAAiBA,uBAAjB,mBAAkCoC,yBAAlC,mBAAqDC,eAArD,eACGtB,QACF,sBACE/B,IAAI,gBACJF,KAAI,OACFkB,QADE,IACFA,OADE,EACFA,EAAiBA,gBAAgBoC,kBAAkBC,QAAQtB,QAIjE,gCAAQgB,OACF,OAALvC,QAAK,IAALA,GAAA,UAAAA,EAAOsB,cAAP,mBAAewB,uBAAf,eAAgCvB,QAC/B,sBACEnB,KAAK,cACL2C,QAAO,OAAE/C,QAAF,IAAEA,GAAF,UAAEA,EAAOsB,cAAT,iBAAE,EAAewB,uBAAjB,aAAE,EAAgCvB,SAGvC,OAALvB,QAAK,IAALA,GAAA,UAAAA,EAAOsB,cAAP,mBAAe0B,oBAAf,eAA6BzB,QAC5B,sBAAMnB,KAAK,WAAW2C,QAAO,OAAE/C,QAAF,IAAEA,GAAF,UAAEA,EAAOsB,cAAT,iBAAE,EAAe0B,oBAAjB,aAAE,EAA6BzB,SAG5D0B,MAAMC,QAAN,OACA1C,QADA,IACAA,GADA,UACAA,EAAiBA,uBADjB,iBACA,EAAkC2C,qBADlC,iBACA,EAAiDC,aADjD,aACA,EAAwDA,OADxD,OAGE5C,QAHF,IAGEA,GAHF,UAGEA,EAAiBA,uBAHnB,iBAGE,EAAkC2C,qBAHpC,iBAGE,EAAiDC,aAHnD,aAGE,EAAwDA,MACxD,IACFC,KAAI,SAACC,EAAMC,GACX,OACE,sBAEE/D,IAAI,YACJgE,SAAUF,EAAKG,IACfnE,KAAMgE,EAAK/B,OAHNgC,SAeb,cAACpD,GAAA,EAAD,CAAaC,KAAK,aAAaC,UAAWL,IAC1C,sBAAKf,UAAW,eAAhB,UACE,cAACyE,GAAA,EAAD,IAKA,qBACEzE,UAAS,8BACiC,eAAxC,UAAAe,EAAMsB,OAAOqC,uBAAb,eAA8BpC,OAC1B,kBACA,IAJR,SAOE,cAACtB,EAAD,MAGF,qBAAKhB,UAAU,GAAf,SACE,cAACkB,GAAA,EAAD,CAAaC,KAAK,aAAaC,UAAWL,MAE3C,cAACU,EAAD,WAMHkD,GAAgB,SAACC,EAAWC,GAChC,QAAIC,KAAUF,EAAU7D,MAAO8D,EAAU9D,QAK3C,SAASgE,GAA4B5C,GACnC,GAAuB,oBAAZI,SAAyB,CAClC,IAAMyC,EAAMzC,SAAS0C,cAAc,YACnCD,EAAIE,UAAY/C,EAChB6C,EAAIlB,QAAQqB,WAAWC,SAAQ,SAACC,GAC9B,IAAMC,EAiCZ,SAAmBA,GACjB,GAAqB,WAAjBA,EAAKC,SAA2C,oBAAZhD,SAAyB,CAC/D,IAAMiD,EAASjD,SAAS0C,cAAc,UACtCO,EAAOC,KAAOH,EAAKJ,UAKnB,IAHA,IAEEQ,EAFEC,GAAK,EACPC,EAAQN,EAAKO,aAENF,EAAIC,EAAMpC,QACjBgC,EAAOM,cAAcJ,EAAOE,EAAMD,IAAIxE,KAAMuE,EAAKpD,OAGnD,OAAOkD,EAEP,OAAOF,EAAKS,YA/CGA,CAAUV,GACvB9C,SAASC,KAAKwD,YAAYV,OAKhC,SAAStC,GAAciD,GAAU,IAAD,IAC9BlB,GAA2B,OACzBkB,QADyB,IACzBA,GADyB,UACzBA,EAAStC,yBADgB,iBACzB,EAA4BuC,sBADH,aACzB,EAA4C5D,OAIhD,SAASW,GAAsBgD,GAAU,IAAD,QACtClB,GAA2B,OAACkB,QAAD,IAACA,GAAD,UAACA,EAAStC,yBAAV,iBAAC,EAA4BwC,kBAA7B,aAAC,EAAwC7D,OACpEyC,GAA2B,OACzBkB,QADyB,IACzBA,GADyB,UACzBA,EAAStC,yBADgB,iBACzB,EAA4ByC,0BADH,aACzB,EAAgD9D,OAIpD,SAASY,GAAgB+C,GAAU,IAAD,MAWhClB,GATE,2BACAkB,QADA,IACAA,GADA,UACAA,EAASI,YADT,aACA,EAAelF,MACf,eAFA,OAGA8E,QAHA,IAGAA,GAHA,UAGAA,EAASlF,aAHT,aAGA,EAAgBuF,QAChB,iBAJA,OAKAL,QALA,IAKAA,OALA,EAKAA,EAASM,UACT,iBANA,OAOAN,QAPA,IAOAA,GAPA,UAOAA,EAASlF,aAPT,aAOA,EAAgByF,cAChB,cAmEW7F,WAAMe,KAAK1F,GAAQ2I,ICzUnB8B,GAZE,SAAC,GAAD,QAAGR,eAAH,MAAa,CAAEI,KAAM,CAAElF,KAAM,IAAMoF,SAAU,IAA7C,SACf,eAAC,IAAM7C,SAAP,WACE,gDACA,0DACA,uCACSuC,EAAQI,MAAQJ,EAAQI,KAAKlF,KACpC,uBAFF,aAGa8E,EAAQM,gBCGnBG,G,kDACJ,WAAYjG,GAAQ,IAAD,uBACjB,cAAMA,IAEDkG,MAAQ,CACXC,UAAU,EACVC,gBAAiBvH,KAAOuH,iBAG1B,IAAMC,EAAY,EAAKrG,MAAMc,gBARZ,OAWG,OAAhBd,EAAMM,QACR,EAAK4F,MAAMC,UAAW,GAKpBE,IAAcA,EAAU/F,QAC1B,EAAK4F,MAAMC,UAAW,GAMpBE,GAAaA,EAAUP,WACzB,EAAKI,MAAME,gBAAkBC,EAAUP,UAIzC,EAAKQ,iBA7BY,E,qDAgCnB,WAEOC,KAAKvG,MAAMc,kBAAmByF,KAAKvG,MAAMwG,mBAC5CD,KAAKE,oB,6BAOT,WAAmB,IAAD,OACZC,EAAoBH,KAAKvG,MAAMM,MAAMqG,MAAMC,OAAOC,eAAiB,IAClEH,EAAkBI,WAAW,OAChCJ,EAAiB,WAAOA,IAG1B,IAAMZ,EACJS,KAAKvG,MAAMM,MAAMqG,MAAMC,OAAOG,MAAQR,KAAKL,MAAME,gBAGrB1H,GAAqBsI,SAIhDC,gBAAgBP,EAAmBZ,GACnC/N,MAAK,SAACsO,GAEW,OAAdA,GACAA,EAAUa,UACVb,EAAUa,SAAS5G,OAGnB,EAAKN,MAAMmH,sBAAX,aACE7G,MAAO+F,EAAUa,SAAS5G,MAC1BuF,OAAQQ,EAAUa,SAAS5G,MAAMuF,QAC9BQ,EAAUa,SAAS1B,UAGpB,EAAKU,MAAMC,UACb,EAAKiB,SAAS,CAAEjB,UAAU,KAG5B,EAAKiB,SAAS,CAAEjB,UAAU,IAAQ,WAChC,IAAMX,EACJa,GAAaA,EAAUa,SACnBb,EAAUa,SAAS1B,QACnB,KAEN,EAAKxF,MAAMmH,sBAAsB3B,W,4BAS3C,WACE,IAAM6B,EACJd,KAAKvG,MAAMM,MAAMqG,MAAMC,OAAOG,MAAQR,KAAKL,MAAME,gBAE/C9G,KAAKwG,WAAauB,GACpB/H,KAAKgI,eAAeD,K,gCAIxB,SAAmBE,GACjB,IAAMC,EAAgBD,EAAcjH,MAAMqG,MAAMc,IAC1CC,EAAWnB,KAAKvG,MAAMM,MAAMqG,MAAMc,IAGpCD,IAAkBE,IAMlBC,cACF5J,OAAO6J,SAASC,OAAOH,IAIzBnB,KAAKD,iBACLC,KAAKE,sB,oBAGP,WACE,IAAQN,EAAaI,KAAKL,MAAlBC,SACFE,EAAYE,KAAKvG,MAAMc,gBAK7B,OAAIqF,GAAYE,EAEZ,gCACE,cAAC,KAAD,UACE,gCAAQ/G,KAAKD,EAAE,sBAEjB,cAAC,GAAD,CAAUmG,QAASa,OAOpBA,EAKE,cAAC,GAAD,CAAQ/F,MAAO+F,EAAU/F,QAJvB,S,GA5IcJ,IAAM4H,WAoJlBC,gBAAoB,CAAEC,WAAW,GAAjCD,CAAyC9B,ICrKzC,SAASgC,KACtB,IAAQC,EAAaC,cAAbD,SAMR,OAJAzG,qBAAU,WACR1D,OAAOqK,SAAS,EAAG,KAClB,CAACF,IAEG,KCGF,IAAMG,GAAgB,CAC3B,4CACA,mCACA,oBAuEaC,G,kDA9Db,WAAYtI,GAAQ,IAAD,EAOG,KAPH,qBACjB,cAAMA,IAoBRuI,qBAAuB,SAAC/B,GAAD,OACrB,EAAKY,SAAS,CACZZ,uBApBF,EAAKN,MAAQ,CACXM,mBAAmB,GAGjBxG,EAAMwI,UACR,EAAK1H,gBACHd,EAAMwI,SAAStB,UAAYlH,EAAMwI,SAAStB,SAAS5G,MAAnD,aAEMA,MAAON,EAAMwI,SAAStB,SAAS5G,MAC/BuF,OAAQ7F,EAAMwI,SAAStB,SAAS5G,MAAMuF,QAH5C,UAIS7F,EAAMwI,SAAStB,gBAJxB,aAIS,EAAyB1B,SAJlC,UAMIxF,EAAMwI,SAAStB,gBANnB,aAMI,EAAyB1B,QAE/B,EAAK1E,gBAAkB,KAjBR,S,qDA0BnB,WACEyF,KAAKgC,sBAAqB,K,oBAG5B,WAAU,IAAD,OACP,EAAwChC,KAAKvG,MAArCyI,EAAR,EAAQA,KAAMC,EAAd,EAAcA,OAAQC,EAAtB,EAAsBA,cAEtB,OACE,cAAC,IAAD,CAAgBC,OAAQD,EAAxB,SACE,cAACE,EAAA,EAAD,CACEvK,iBAAkBA,GAClBkH,QAASe,KAAKzF,gBAFhB,SAIE,eAAC4H,EAAD,CAAQd,SAAUa,EAAMjD,QAAS,GAAjC,UACE,cAACyC,GAAD,IACA,cAAC,IAAD,UACGI,GAAc1E,KAAI,SAACmF,GAAD,OACjB,cAAC,IAAD,CAEEL,KAAMK,EACNC,OAAQ,SAAC/I,GAAD,OACN,cAAC,GAAD,CACEM,MAAON,EACPwG,kBAAmB,EAAKN,MAAMM,sBAL7BsC,mB,GA7CD5I,IAAM4H,W,wFCEfkB,GAA2B,IAtBxC,sFACE,WAYE,OAAO,IAAIC,KAAsB,CAC/BrK,QAASC,KAAOC,gBAChBC,OAAQF,KAAOG,eACfC,SAAUJ,KAAOK,WACjBgK,YAfkB,SAACzB,GAGnB,OAAO,IAAI0B,KAAiB,CAC1BC,SAAUC,KAAMC,WAEhBC,iBAAiB,EACjBC,oBAAoB,IACnBC,MAAMhC,UAVf,MCYA,IAAIiC,GAAiBC,IAASZ,OAE1Ba,GAAe/K,KAAOuH,gBAetByD,GAAgB,KAEdC,GAAahI,SAASiI,eAAe,iBACvCD,KACFD,GAAgBG,KAAKC,MAAMH,GAAWrF,YAEpCoF,KAEFH,GAAiBC,IAASO,QAG1BN,GAAeC,GAAc3C,SAAS1B,QAAQM,UAUhD,IC3CiCA,GAAUwD,GD2CrCa,GACJN,IAAiBA,GAAcO,aAC3BP,GAAcO,aACd,KAEAzB,GExBS,SAAU0B,EAAUC,EAAKC,GAEtC,IAAMC,EAAOC,eAA2BC,OACtC,IAAIC,KAAc,CAChBC,IAAKP,EACLQ,QAAS,CACPC,WAAY,aACZC,UAAWlM,KAAOG,mBAKlBgM,EAAQ,IAAIC,KAAc,CAC9BC,gBAAiB,IAAIC,KAA6B,CAChDC,oCAIJ,OAAO,IAAIC,KAAa,CACtBC,QAAShB,EACTiB,mBAAoB,IACpBf,OACAQ,MAAOA,EAAMQ,QAAQjB,KFEHkB,CACpB5M,KAAO6M,iBACP,EACAvB,SAG6DnM,IAA9C8D,SAAS0C,cAAc,UAAUmH,UAGhD,yDAAkE5T,MAAK,kBACrEqI,QAAQwL,KAAK,uCC1DgB9F,GDmExB8D,GClEA,IAAIiC,SAAQ,SAACC,EAASC,GAC3B,IAAMC,EAAU,CACd3C,OAAO,EACP4C,IAAkB,OAAbnG,GAAoB,KAAOA,GAChCoG,aAAa,EACbC,KAAM,cACNC,WAAW,EAEXC,cAAe,CACbC,aAAa,IAIjB,GAAIhD,GAIGhK,KAAKiN,cAeRjN,KAAKgI,eAAexB,IAAU/N,MAAK,WACjCuH,KAAKkN,kBACU,OAAb1G,GAAoB,KAAOA,GAC3B,cACAwD,IACA,GACA,GAGFwC,OAvBFxM,KAAKmN,IAAIC,MAAkBC,KAAKX,GAAS,SAACpL,GACpCA,GAAOmL,EAAOnL,GAElBtB,KAAKkN,kBACU,OAAb1G,GAAoB,KAAOA,GAC3B,cACAwD,IACA,GACA,GAGFwC,WAeC,CAKL,IAAMc,EAA4B5D,GAAyBhC,SAE3D1H,KACGmN,IAAI,CACHI,KAAM,UACNC,KAFG,SAEEhH,EAAUiH,EAAYC,GACzBJ,EACGK,oBAAiC,OAAbnH,EAAoB,KAAOA,GAC/C/N,MAAK,SAACmV,GACLF,EAAS,KAAME,MAHnB,OAKS,SAACC,GAAD,OAASH,EAASG,GAAK,SAGnCV,IAAIC,MACJC,KAAKX,GAAS,SAACpL,GACVA,GAAOmL,EAAOnL,GAElBkL,YDAP/T,MAAK,WAEJ,IAAMqV,EAActL,SAASiI,eAAe,QAE5CL,GACE,cAAC,GAAD,CACEjB,KAAM1K,OAAO6J,SAASM,SACtBQ,OAAQ2E,IACR1E,cAAeA,GACfH,SAAUqB,KAEZuD,MAGHrV,MAAK,kBAAMH,IAAS0V,kBAGnB3F,eACF,iCAA+C5P,MAAK,kBAClDqI,QAAQwL,KAAK,uCAIjB7N,OAAOwP,SAAW,YAIlB,WACE,GAAuB,oBAAZzL,SAAyB,CAClC,IAAI0L,EAAU1L,SAASiI,eAAe,iBAClC0D,EAAW3L,SAASiI,eAAe,cACnCyD,GAAWC,IAEX3L,SAASI,KAAKwL,UAAY,IAC1B5L,SAAS6L,gBAAgBD,UAAY,IAErC5L,SAAS8L,cAAc,UAAUzL,UAAUC,IAAI,kBAC/CoL,EAAQrL,UAAUC,IAAI,qBACtBqL,EAAStL,UAAUC,IAAI,oBAEvBoL,EAAQrL,UAAU0L,OAAO,qBACzB/L,SAAS8L,cAAc,UAAUzL,UAAU0L,OAAO,kBAClDJ,EAAStL,UAAU0L,OAAO,qBAlBhCC,M","file":"static/js/main.1bd10163.chunk.js","sourcesContent":["/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n \"sitecoreApiKey\": \"BE376E4C-F913-4149-BD0A-9EAEF3C91630\",\n \"sitecoreApiHost\": \"\",\n \"jssAppName\": \"fpt-industrial\",\n \"defaultLanguage\": \"en\",\n \"graphQLEndpointPath\": \"/api/fpt-industrial\",\n \"graphQLEndpoint\": \"/api/fpt-industrial\"\n};","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\n\nimport React from 'react';\nimport Loadable from 'react-loadable';\n\nconst Accordion = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Accordion\" */ '../components/Accordion').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Accordion'],\n});\n\n\nconst ApplicationLegend = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"ApplicationLegend\" */ '../components/ApplicationLegend').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['ApplicationLegend'],\n});\n\n\nconst AppointmentFormModalPopup = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"AppointmentFormModalPopup\" */ '../components/AppointmentFormModalPopup').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['AppointmentFormModalPopup'],\n});\n\n\nconst AxleCards = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"AxleCards\" */ '../components/AxleCards').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['AxleCards'],\n});\n\n\nconst AxleCardsContainer = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"AxleCardsContainer\" */ '../components/AxleCardsContainer').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['AxleCardsContainer'],\n});\n\n\nconst BannerWithAnimatedLeftSide = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"BannerWithAnimatedLeftSide\" */ '../components/BannerWithAnimatedLeftSide').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['BannerWithAnimatedLeftSide'],\n});\n\n\nconst BannerWithCards = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"BannerWithCards\" */ '../components/BannerWithCards').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['BannerWithCards'],\n});\n\n\nconst Breadcrumb = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Breadcrumb\" */ '../components/Breadcrumb').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Breadcrumb'],\n});\n\n\nconst CallUsList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CallUsList\" */ '../components/CallUsList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CallUsList'],\n});\n\n\nconst CardCompare = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CardCompare\" */ '../components/CardCompare').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CardCompare'],\n});\n\n\nconst CardContainer = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CardContainer\" */ '../components/CardContainer').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CardContainer'],\n});\n\n\nconst CardList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CardList\" */ '../components/CardList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CardList'],\n});\n\n\nconst CardProductWrapper = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CardProductWrapper\" */ '../components/CardProductWrapper').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CardProductWrapper'],\n});\n\n\nconst CardsPress = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CardsPress\" */ '../components/CardsPress').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CardsPress'],\n});\n\n\nconst Carousel = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Carousel\" */ '../components/Carousel').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Carousel'],\n});\n\n\nconst CarouselLazy = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CarouselLazy\" */ '../components/CarouselLazy').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CarouselLazy'],\n});\n\n\nconst ContactModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"ContactModule\" */ '../components/ContactModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['ContactModule'],\n});\n\n\nconst ContactUsFormModalPopup = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"ContactUsFormModalPopup\" */ '../components/ContactUsFormModalPopup').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['ContactUsFormModalPopup'],\n});\n\n\nconst ContactUsTemplate = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"ContactUsTemplate\" */ '../components/ContactUsTemplate').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['ContactUsTemplate'],\n});\n\n\nconst CtaList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CtaList\" */ '../components/CtaList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CtaList'],\n});\n\n\nconst CustomSelect = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"CustomSelect\" */ '../components/CustomSelect').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['CustomSelect'],\n});\n\n\nconst DealerLocatorChineseModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DealerLocatorChineseModule\" */ '../components/DealerLocatorChineseModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DealerLocatorChineseModule'],\n});\n\n\nconst DealerLocatorModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DealerLocatorModule\" */ '../components/DealerLocatorModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DealerLocatorModule'],\n});\n\n\nconst DescriptionWithSpecificationHighlights = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DescriptionWithSpecificationHighlights\" */ '../components/DescriptionWithSpecificationHighlights').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DescriptionWithSpecificationHighlights'],\n});\n\n\nconst Details = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Details\" */ '../components/Details').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Details'],\n});\n\n\nconst DoubleCtaList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DoubleCtaList\" */ '../components/DoubleCtaList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DoubleCtaList'],\n});\n\n\nconst DynamicCard = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DynamicCard\" */ '../components/DynamicCard').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DynamicCard'],\n});\n\n\nconst DynamicCardList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"DynamicCardList\" */ '../components/DynamicCardList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['DynamicCardList'],\n});\n\n\nconst EAxleModelContainer = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"EAxleModelContainer\" */ '../components/EAxleModelContainer').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['EAxleModelContainer'],\n});\n\n\nconst eAxleStage360Preview = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"eAxleStage360Preview\" */ '../components/eAxleStage360Preview').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['eAxleStage360Preview'],\n});\n\n\nconst EDrivelinesSolutions = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"EDrivelinesSolutions\" */ '../components/EDrivelinesSolutions').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['EDrivelinesSolutions'],\n});\n\n\nconst EngineModelCards = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"EngineModelCards\" */ '../components/EngineModelCards').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['EngineModelCards'],\n});\n\n\nconst EngineSeries = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"EngineSeries\" */ '../components/EngineSeries').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['EngineSeries'],\n});\n\n\nconst FAQ = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"FAQ\" */ '../components/FAQ').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['FAQ'],\n});\n\n\nconst Filter = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Filter\" */ '../components/Filter').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Filter'],\n});\n\n\nconst FilterDetailPageStage = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"FilterDetailPageStage\" */ '../components/FilterDetailPageStage').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['FilterDetailPageStage'],\n});\n\n\nconst FindEngineTemplate = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"FindEngineTemplate\" */ '../components/FindEngineTemplate').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['FindEngineTemplate'],\n});\n\n\nconst FindYourEngine = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"FindYourEngine\" */ '../components/FindYourEngine').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['FindYourEngine'],\n});\n\n\nconst Footer = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Footer\" */ '../components/Footer').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Footer'],\n});\n\n\nconst Form = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Form\" */ '../components/Form').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Form'],\n});\n\n\nconst FormContainerModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"FormContainerModule\" */ '../components/FormContainerModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['FormContainerModule'],\n});\n\n\nconst GlobalPresenceNumbers = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"GlobalPresenceNumbers\" */ '../components/GlobalPresenceNumbers').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['GlobalPresenceNumbers'],\n});\n\n\nconst Header = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Header\" */ '../components/Header').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Header'],\n});\n\n\nconst History = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"History\" */ '../components/History').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['History'],\n});\n\n\nconst Homepage = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Homepage\" */ '../components/Homepage').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Homepage'],\n});\n\n\nconst Hotspot = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Hotspot\" */ '../components/Hotspot').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Hotspot'],\n});\n\n\nconst IconList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"IconList\" */ '../components/IconList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['IconList'],\n});\n\n\nconst IFrameModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"IFrameModule\" */ '../components/IFrameModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['IFrameModule'],\n});\n\n\nconst ImageCtaList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"ImageCtaList\" */ '../components/ImageCtaList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['ImageCtaList'],\n});\n\n\nconst InfiniteScroll = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"InfiniteScroll\" */ '../components/InfiniteScroll').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['InfiniteScroll'],\n});\n\n\nconst IvecoForm = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"IvecoForm\" */ '../components/IvecoForm').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['IvecoForm'],\n});\n\n\nconst LandingPageModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"LandingPageModule\" */ '../components/LandingPageModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['LandingPageModule'],\n});\n\n\nconst Layout = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Layout\" */ '../components/Layout').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Layout'],\n});\n\n\nconst Legend = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Legend\" */ '../components/Legend').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Legend'],\n});\n\n\nconst LogoWall = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"LogoWall\" */ '../components/LogoWall').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['LogoWall'],\n});\n\n\nconst MapContainer = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"MapContainer\" */ '../components/MapContainer').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['MapContainer'],\n});\n\n\nconst NewsletterFormModalPopup = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"NewsletterFormModalPopup\" */ '../components/NewsletterFormModalPopup').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['NewsletterFormModalPopup'],\n});\n\n\nconst NumbersNeedsToFix = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"NumbersNeedsToFix\" */ '../components/NumbersNeedsToFix').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['NumbersNeedsToFix'],\n});\n\n\nconst OilDistributionMap = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"OilDistributionMap\" */ '../components/OilDistributionMap').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['OilDistributionMap'],\n});\n\n\nconst OilsAndCoolants = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"OilsAndCoolants\" */ '../components/OilsAndCoolants').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['OilsAndCoolants'],\n});\n\n\nconst OilsFilter = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"OilsFilter\" */ '../components/OilsFilter').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['OilsFilter'],\n});\n\n\nconst PageAboutUs = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PageAboutUs\" */ '../components/PageAboutUs').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PageAboutUs'],\n});\n\n\nconst PageCategory = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PageCategory\" */ '../components/PageCategory').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PageCategory'],\n});\n\n\nconst PageNewsletter = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PageNewsletter\" */ '../components/PageNewsletter').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PageNewsletter'],\n});\n\n\nconst PageProduct = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PageProduct\" */ '../components/PageProduct').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PageProduct'],\n});\n\n\nconst Pager = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Pager\" */ '../components/Pager').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Pager'],\n});\n\n\nconst PageTitleModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PageTitleModule\" */ '../components/PageTitleModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PageTitleModule'],\n});\n\n\nconst PerformanceAndDimensionsModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PerformanceAndDimensionsModule\" */ '../components/PerformanceAndDimensionsModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PerformanceAndDimensionsModule'],\n});\n\n\nconst PressRelease = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"PressRelease\" */ '../components/PressRelease').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['PressRelease'],\n});\n\n\nconst Pulse = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Pulse\" */ '../components/Pulse').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Pulse'],\n});\n\n\nconst RelatedStories = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"RelatedStories\" */ '../components/RelatedStories').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['RelatedStories'],\n});\n\n\nconst Search = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Search\" */ '../components/Search').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Search'],\n});\n\n\nconst SearchResults = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"SearchResults\" */ '../components/SearchResults').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['SearchResults'],\n});\n\n\nconst Share = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Share\" */ '../components/Share').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Share'],\n});\n\n\nconst Slider = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Slider\" */ '../components/Slider').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Slider'],\n});\n\n\nconst SplitCarousel = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"SplitCarousel\" */ '../components/SplitCarousel').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['SplitCarousel'],\n});\n\n\nconst SpotifyModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"SpotifyModule\" */ '../components/SpotifyModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['SpotifyModule'],\n});\n\n\nconst Stage = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Stage\" */ '../components/Stage').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Stage'],\n});\n\n\nconst Stage360Preview = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Stage360Preview\" */ '../components/Stage360Preview').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Stage360Preview'],\n});\n\n\nconst StoryBanner = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"StoryBanner\" */ '../components/StoryBanner').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['StoryBanner'],\n});\n\n\nconst StoryCardList = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"StoryCardList\" */ '../components/StoryCardList').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['StoryCardList'],\n});\n\n\nconst Tabs = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Tabs\" */ '../components/Tabs').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Tabs'],\n});\n\n\nconst TabWithMap = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TabWithMap\" */ '../components/TabWithMap').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TabWithMap'],\n});\n\n\nconst Technologies = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"Technologies\" */ '../components/Technologies').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['Technologies'],\n});\n\n\nconst TechnologyMap = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TechnologyMap\" */ '../components/TechnologyMap').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TechnologyMap'],\n});\n\n\nconst TextImageModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TextImageModule\" */ '../components/TextImageModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TextImageModule'],\n});\n\n\nconst TextLinksModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TextLinksModule\" */ '../components/TextLinksModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TextLinksModule'],\n});\n\n\nconst TextModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TextModule\" */ '../components/TextModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TextModule'],\n});\n\n\nconst TextNumberModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TextNumberModule\" */ '../components/TextNumberModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TextNumberModule'],\n});\n\n\nconst TextVideoModule = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TextVideoModule\" */ '../components/TextVideoModule').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TextVideoModule'],\n});\n\n\nconst TransmissionCards = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TransmissionCards\" */ '../components/TransmissionCards').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TransmissionCards'],\n});\n\n\nconst TwoValuesNumbers = Loadable({\n\tloader: () => {\n\t\tsignalComponentLoad();\n\t\treturn import(/* webpackChunkName: \"TwoValuesNumbers\" */ '../components/TwoValuesNumbers').then(C => {\n\t\t\tsignalComponentLoaded();\n\t\t\treturn C as any;\n\t\t});\n\t},\n\tloading: () =>
Loading...
,\n\tmodules: ['TwoValuesNumbers'],\n});\n\n\nfunction signalComponentLoad() {\n\tif (typeof window !== 'undefined') {\n\t\tif (window.componentsLoading == undefined) {\n\t\t\twindow.componentsLoading = 0;\n\t\t} else {\n\t\t\twindow.componentsLoading++;\n\t\t}\n\t}\n}\n\nfunction signalComponentLoaded() {\n\tif (typeof window !== 'undefined') {\n\t\tif (window.componentsLoading) {\n\t\t\twindow.componentsLoading--;\n\n\t\t\tif (window.componentsLoading === 0) {\n\t\t\t\twindow.dispatchEvent(new Event('componentsLoaded'));\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst components = new Map();\ncomponents.set('Accordion', Accordion);\ncomponents.set('ApplicationLegend', ApplicationLegend);\ncomponents.set('AppointmentFormModalPopup', AppointmentFormModalPopup);\ncomponents.set('AxleCards', AxleCards);\ncomponents.set('AxleCardsContainer', AxleCardsContainer);\ncomponents.set('BannerWithAnimatedLeftSide', BannerWithAnimatedLeftSide);\ncomponents.set('BannerWithCards', BannerWithCards);\ncomponents.set('Breadcrumb', Breadcrumb);\ncomponents.set('CallUsList', CallUsList);\ncomponents.set('CardCompare', CardCompare);\ncomponents.set('CardContainer', CardContainer);\ncomponents.set('CardList', CardList);\ncomponents.set('CardProductWrapper', CardProductWrapper);\ncomponents.set('CardsPress', CardsPress);\ncomponents.set('Carousel', Carousel);\ncomponents.set('CarouselLazy', CarouselLazy);\ncomponents.set('ContactModule', ContactModule);\ncomponents.set('ContactUsFormModalPopup', ContactUsFormModalPopup);\ncomponents.set('ContactUsTemplate', ContactUsTemplate);\ncomponents.set('CtaList', CtaList);\ncomponents.set('CustomSelect', CustomSelect);\ncomponents.set('DealerLocatorChineseModule', DealerLocatorChineseModule);\ncomponents.set('DealerLocatorModule', DealerLocatorModule);\ncomponents.set('DescriptionWithSpecificationHighlights', DescriptionWithSpecificationHighlights);\ncomponents.set('Details', Details);\ncomponents.set('DoubleCtaList', DoubleCtaList);\ncomponents.set('DynamicCard', DynamicCard);\ncomponents.set('DynamicCardList', DynamicCardList);\ncomponents.set('EAxleModelContainer', EAxleModelContainer);\ncomponents.set('eAxleStage360Preview', eAxleStage360Preview);\ncomponents.set('EDrivelinesSolutions', EDrivelinesSolutions);\ncomponents.set('EngineModelCards', EngineModelCards);\ncomponents.set('EngineSeries', EngineSeries);\ncomponents.set('FAQ', FAQ);\ncomponents.set('Filter', Filter);\ncomponents.set('FilterDetailPageStage', FilterDetailPageStage);\ncomponents.set('FindEngineTemplate', FindEngineTemplate);\ncomponents.set('FindYourEngine', FindYourEngine);\ncomponents.set('Footer', Footer);\ncomponents.set('Form', Form);\ncomponents.set('FormContainerModule', FormContainerModule);\ncomponents.set('GlobalPresenceNumbers', GlobalPresenceNumbers);\ncomponents.set('Header', Header);\ncomponents.set('History', History);\ncomponents.set('Homepage', Homepage);\ncomponents.set('Hotspot', Hotspot);\ncomponents.set('IconList', IconList);\ncomponents.set('IFrameModule', IFrameModule);\ncomponents.set('ImageCtaList', ImageCtaList);\ncomponents.set('InfiniteScroll', InfiniteScroll);\ncomponents.set('IvecoForm', IvecoForm);\ncomponents.set('LandingPageModule', LandingPageModule);\ncomponents.set('Layout', Layout);\ncomponents.set('Legend', Legend);\ncomponents.set('LogoWall', LogoWall);\ncomponents.set('MapContainer', MapContainer);\ncomponents.set('NewsletterFormModalPopup', NewsletterFormModalPopup);\ncomponents.set('NumbersNeedsToFix', NumbersNeedsToFix);\ncomponents.set('OilDistributionMap', OilDistributionMap);\ncomponents.set('OilsAndCoolants', OilsAndCoolants);\ncomponents.set('OilsFilter', OilsFilter);\ncomponents.set('PageAboutUs', PageAboutUs);\ncomponents.set('PageCategory', PageCategory);\ncomponents.set('PageNewsletter', PageNewsletter);\ncomponents.set('PageProduct', PageProduct);\ncomponents.set('Pager', Pager);\ncomponents.set('PageTitleModule', PageTitleModule);\ncomponents.set('PerformanceAndDimensionsModule', PerformanceAndDimensionsModule);\ncomponents.set('PressRelease', PressRelease);\ncomponents.set('Pulse', Pulse);\ncomponents.set('RelatedStories', RelatedStories);\ncomponents.set('Search', Search);\ncomponents.set('SearchResults', SearchResults);\ncomponents.set('Share', Share);\ncomponents.set('Slider', Slider);\ncomponents.set('SplitCarousel', SplitCarousel);\ncomponents.set('SpotifyModule', SpotifyModule);\ncomponents.set('Stage', Stage);\ncomponents.set('Stage360Preview', Stage360Preview);\ncomponents.set('StoryBanner', StoryBanner);\ncomponents.set('StoryCardList', StoryCardList);\ncomponents.set('Tabs', Tabs);\ncomponents.set('TabWithMap', TabWithMap);\ncomponents.set('Technologies', Technologies);\ncomponents.set('TechnologyMap', TechnologyMap);\ncomponents.set('TextImageModule', TextImageModule);\ncomponents.set('TextLinksModule', TextLinksModule);\ncomponents.set('TextModule', TextModule);\ncomponents.set('TextNumberModule', TextNumberModule);\ncomponents.set('TextVideoModule', TextVideoModule);\ncomponents.set('TransmissionCards', TransmissionCards);\ncomponents.set('TwoValuesNumbers', TwoValuesNumbers);\n\nexport default function componentFactory(componentName) {\n return components.get(componentName);\n};\n\ndeclare global {\n interface Window {\n componentsLoading?: number;\n }\n}\n","import { RestLayoutService } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../temp/config';\r\n\r\nexport class LayoutServiceFactory {\r\n create() {\r\n return new RestLayoutService({\r\n apiHost: config.sitecoreApiHost,\r\n apiKey: config.sitecoreApiKey,\r\n siteName: config.jssAppName,\r\n configurationName: 'jss',\r\n });\r\n }\r\n}\r\n\r\nexport const layoutServiceFactory = new LayoutServiceFactory();\r\n","export default __webpack_public_path__ + \"static/media/sc_logo.bf26bc22.svg\";","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport {\r\n Placeholder,\r\n useSitecoreContext,\r\n VisitorIdentification,\r\n} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport deepEqual from \"deep-equal\";\r\nimport Helmet from \"react-helmet\";\r\n\r\n// Using bootstrap is completely optional. It's used here to provide a clean layout for samples,\r\n// without needing extra CSS in the sample app. Remove it in package.json as well if it's removed here.\r\nimport \"bootstrap/dist/css/bootstrap.css\";\r\nimport \"./assets/app.css\";\r\nimport \"./assets/app.scss\";\r\nimport \"./Layout.scss\";\r\nimport logo from \"./assets/sc_logo.svg\";\r\n\r\n/*\r\n APP LAYOUT\r\n This is where the app's HTML structure and root placeholders should be defined.\r\n\r\n All routes share this root layout by default (this could be customized in RouteHandler),\r\n but components added to inner placeholders are route-specific.\r\n*/\r\n\r\n// This is boilerplate navigation for sample purposes. Most apps should throw this away and use their own navigation implementation.\r\n// Most apps may also wish to use GraphQL for their navigation construction; this sample does not simply to support disconnected mode.\r\nlet Navigation = ({ t, i18n }) => (\r\n
\r\n
\r\n \r\n \"Sitecore\"\r\n \r\n
\r\n \r\n
\r\n);\r\n\r\n// inject dictionary props (`t`) into navigation so we can translate it\r\n// NOTE: using this is needed instead of using i18next directly to keep\r\n// the component state updated when i18n state (e.g. current language) changes\r\nNavigation = withTranslation()(Navigation);\r\n\r\nconst Layout = (props) => {\r\n const REACT_VERSION = React.version;\r\n console.log(REACT_VERSION);\r\n const { route } = props;\r\n\r\n const Main = useCallback(() => {\r\n try {\r\n return ;\r\n } catch (error) {\r\n console.error(error);\r\n return <>{error.stack};\r\n }\r\n }, [route]);\r\n\r\n const sitecoreContext = useSitecoreContext();\r\n const ArrowUp = React.memo(() => {\r\n const [showArrow, setShowArrow] = useState(false);\r\n const handleNavigation = useCallback((e) => {\r\n const window = e.currentTarget;\r\n if (window.scrollY > 420) {\r\n setShowArrow(true);\r\n } else {\r\n setShowArrow(false);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (window !== undefined)\r\n window.addEventListener(\"scroll\", handleNavigation);\r\n\r\n if (\r\n route?.fields?.[\"PageScript\"] &&\r\n route?.fields?.[\"PageScript\"]?.value\r\n ) {\r\n injectScriptsFromHTMLString(route?.fields?.[\"PageScript\"]?.value);\r\n }\r\n }, []);\r\n\r\n function hardInjectScriptFromStringIntoBody(str) {\r\n if (typeof document != \"undefined\") {\r\n const script = document.createElement(\"script\");\r\n script.innerHTML = str;\r\n\r\n document.body.appendChild(script);\r\n }\r\n }\r\n\r\n function injectScriptsFromHTMLString(str) {\r\n if (typeof document != \"undefined\") {\r\n document.head.insertAdjacentHTML(\"beforeend\", str);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n let componentsLoaded = false;\r\n if (typeof window !== \"undefined\" && typeof document != \"undefined\") {\r\n window.addEventListener(\"componentsLoaded\", () => {\r\n if (componentsLoaded) return;\r\n\r\n componentsLoaded = true;\r\n document.body.classList.add(\"components-loaded\");\r\n if (\"requestIdleCallback\" in window) {\r\n window.requestIdleCallback(\r\n () => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n setTimeout(() => {\r\n loadCookieLaw(sitecoreContext.sitecoreContext);\r\n loadAdditionalScripts(sitecoreContext.sitecoreContext);\r\n addSitecoreInfo(sitecoreContext.sitecoreContext);\r\n }, 2000);\r\n },\r\n {\r\n timeout: 10000,\r\n }\r\n );\r\n } else {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n setTimeout(() => {\r\n loadCookieLaw(sitecoreContext.sitecoreContext);\r\n loadAdditionalScripts(sitecoreContext.sitecoreContext);\r\n addSitecoreInfo(sitecoreContext.sitecoreContext);\r\n }, 2000);\r\n }\r\n });\r\n }\r\n }, []);\r\n return (\r\n {\r\n window.scroll(0, 0);\r\n }}\r\n className={`scroll-top ${\r\n showArrow ? \"scroll-top_visible\" : \"scroll-top_invisible\"\r\n }`}\r\n >\r\n \r\n \r\n );\r\n });\r\n const getTitle = useCallback(() => {\r\n if (!route?.fields || !route.fields?.pageTitle?.value?.length > 0)\r\n return \"Page\";\r\n if (route.fields.brandTitle?.value?.length > 0) {\r\n if (route.fields.pageTitle.value === \"$name\") {\r\n return route.fields.brandTitle.value;\r\n }\r\n return `${route.fields.pageTitle.value} | ${route.fields.brandTitle.value}`;\r\n } else return route.fields.pageTitle.value;\r\n }, [route]);\r\n\r\n return (\r\n \r\n {/* react-helmet enables setting contents, like title and OG meta tags */}\r\n \r\n {sitecoreContext?.sitecoreContext?.ContextExtensions?.favicon\r\n ?.value && (\r\n \r\n )}\r\n {getTitle()}\r\n {route?.fields?.MetaDescription?.value && (\r\n \r\n )}\r\n {route?.fields?.MetaKeywords?.value && (\r\n \r\n )}\r\n\r\n {(Array.isArray(\r\n sitecoreContext?.sitecoreContext?.AlternateLink?.links?.links\r\n )\r\n ? sitecoreContext?.sitecoreContext?.AlternateLink?.links?.links\r\n : []\r\n ).map((item, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {/*\r\n VisitorIdentification is necessary for Sitecore Analytics to determine if the visitor is a robot.\r\n If Sitecore XP (with xConnect/xDB) is used, this is required or else analytics will not be collected for the JSS app.\r\n For XM (CMS-only) apps, this should be removed.\r\n\r\n VI detection only runs once for a given analytics ID, so this is not a recurring operation once cookies are established.\r\n */}\r\n \r\n
\r\n \r\n\r\n {/* */}\r\n\r\n {/* root placeholder for the app, which we add components to using route data */}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst propsAreEqual = (prevProps, nextProps) => {\r\n if (deepEqual(prevProps.route, nextProps.route)) return true;\r\n\r\n return false;\r\n};\r\n\r\nfunction injectScriptsFromHTMLString(str) {\r\n if (typeof document != \"undefined\") {\r\n const tpl = document.createElement(\"template\");\r\n tpl.innerHTML = str;\r\n tpl.content.childNodes.forEach((child) => {\r\n const node = cloneNode(child);\r\n document.head.appendChild(node);\r\n });\r\n }\r\n}\r\n\r\nfunction loadCookieLaw(context) {\r\n injectScriptsFromHTMLString(\r\n context?.ContextExtensions?.onetrustcookie?.value\r\n );\r\n}\r\n\r\nfunction loadAdditionalScripts(context) {\r\n injectScriptsFromHTMLString(context?.ContextExtensions?.bodyscript?.value);\r\n injectScriptsFromHTMLString(\r\n context?.ContextExtensions?.formOneTrustScript?.value\r\n );\r\n}\r\n\r\nfunction addSitecoreInfo(context) {\r\n const sitecoreInfo =\r\n \"\";\r\n injectScriptsFromHTMLString(sitecoreInfo);\r\n}\r\n\r\nfunction cloneNode(node) {\r\n if (node.tagName === \"SCRIPT\" && typeof document != \"undefined\") {\r\n const script = document.createElement(\"script\");\r\n script.text = node.innerHTML;\r\n\r\n let i = -1,\r\n attrs = node.attributes,\r\n attr;\r\n while (++i < attrs.length) {\r\n script.setAttribute((attr = attrs[i]).name, attr.value);\r\n }\r\n\r\n return script;\r\n } else {\r\n return node.cloneNode();\r\n }\r\n}\r\n\r\n/**\r\n * Created before aknowledging that the BE is providing as an HTML snippet to inject.\r\n */\r\nfunction manuallyLoadCookieLaw() {\r\n /* OneTrust Cookies Consent Notice start for eucomcrg04-123710-cd.azurewebsites.net */\r\n if (typeof document != \"undefined\") {\r\n const clScripts = [];\r\n clScripts.push(document.createElement(\"script\"));\r\n clScripts.push(document.createElement(\"script\"));\r\n clScripts.push(document.createElement(\"script\"));\r\n clScripts[0].src =\r\n \"https://cdn.cookielaw.org/consent/9e19a4e9-f090-4195-921d-c529df46fb50-test/OtAutoBlock.js\";\r\n clScripts[1].src = \"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\";\r\n clScripts[1].setAttribute(\"data-document-language\", \"true\");\r\n clScripts[1].setAttribute(\"charset\", \"UTF-8\");\r\n clScripts[1].setAttribute(\r\n \"data-domain-script\",\r\n \"9e19a4e9-f090-4195-921d-c529df46fb50-test\"\r\n );\r\n clScripts[2].innerHTML = \"function OptanonWrapper() {}\";\r\n\r\n clScripts.forEach((script) => document.head.appendChild(script));\r\n /* OneTrust Cookies Consent Notice end for eucomcrg04-123710-cd.azurewebsites.net */\r\n }\r\n}\r\n\r\n/**\r\n * Created before aknowledging that the BE is providing as an HTML snippet to inject.\r\n */\r\nfunction manuallyLoadGoogleTagManager() {\r\n /* Google Tag Manager */\r\n if (typeof document != \"undefined\") {\r\n const googleTagManagerId = \"GTM-PFDK72\";\r\n const tagManagerScript = document.createElement(\"script\");\r\n tagManagerScript.innerHTML = `\r\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer', '${googleTagManagerId}');`;\r\n document.head.appendChild(tagManagerScript);\r\n /* End Google Tag Manager */\r\n }\r\n}\r\n\r\nexport default React.memo(Layout, propsAreEqual);\r\n","import React from 'react';\r\n\r\n// Renders a route-not-found message when no route is available from Sitecore\r\n// The JSS equivalent of a 404 Not Found page.\r\n\r\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\r\n// The NotFound component receives the Layout Service Context data, but no route data.\r\n// This can be used to power parts of your site, such as navigation, from LS context additions\r\n// without losing the ability to render them on your 404 pages :)\r\n\r\nconst NotFound = ({ context = { site: { name: '' }, language: '' } }) => (\r\n \r\n

Page not found

\r\n

This page does not exist.

\r\n

\r\n Site: {context.site && context.site.name}\r\n
\r\n Language: {context.language}\r\n

\r\n
\r\n);\r\n\r\nexport default NotFound;\r\n","import React from 'react';\r\nimport i18n from 'i18next';\r\nimport Helmet from 'react-helmet';\r\nimport {\r\n isEditorActive,\r\n withSitecoreContext,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\nimport { layoutServiceFactory } from './lib/layout-service-factory';\r\nimport config from './temp/config';\r\nimport Layout from './Layout';\r\nimport NotFound from './NotFound';\r\n\r\n/* eslint-disable no-console */\r\n\r\n// Dynamic route handler for Sitecore items.\r\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\r\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\r\n// So react-router delegates all route rendering to this handler, which attempts to get the right\r\n// route data from Sitecore - and if none exists, renders the not found component.\r\n\r\nclass RouteHandler extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n notFound: true,\r\n defaultLanguage: config.defaultLanguage,\r\n };\r\n\r\n const routeData = this.props.sitecoreContext;\r\n\r\n // route data from react-router - if route was resolved, it's not a 404\r\n if (props.route !== null) {\r\n this.state.notFound = false;\r\n }\r\n\r\n // if we have an initial SSR state, and that state doesn't have a valid route data,\r\n // then this is a 404 route.\r\n if (routeData && !routeData.route) {\r\n this.state.notFound = true;\r\n }\r\n\r\n // if we have an SSR state, and that state has language data, set the current language\r\n // (this makes the language of content follow the Sitecore context language cookie)\r\n // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\r\n if (routeData && routeData.language) {\r\n this.state.defaultLanguage = routeData.language;\r\n }\r\n\r\n // tell i18next to sync its current language with the route language\r\n this.updateLanguage();\r\n }\r\n\r\n componentDidMount() {\r\n // if no existing routeData is present (from SSR), get Layout Service fetching the route data or ssr render complete\r\n if (!this.props.sitecoreContext || this.props.ssrRenderComplete) {\r\n this.updateRouteData();\r\n }\r\n }\r\n\r\n /**\r\n * Loads route data from Sitecore Layout Service into state.routeData\r\n */\r\n updateRouteData() {\r\n let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/';\r\n if (!sitecoreRoutePath.startsWith('/')) {\r\n sitecoreRoutePath = `/${sitecoreRoutePath}`;\r\n }\r\n\r\n const language =\r\n this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n // instantiate the dictionary service.\r\n const layoutServiceInstance = layoutServiceFactory.create();\r\n\r\n // get the route data for the new route\r\n layoutServiceInstance\r\n .fetchLayoutData(sitecoreRoutePath, language)\r\n .then((routeData) => {\r\n if (\r\n routeData !== null &&\r\n routeData.sitecore &&\r\n routeData.sitecore.route\r\n ) {\r\n // set the sitecore context data and push the new route\r\n this.props.updateSitecoreContext({\r\n route: routeData.sitecore.route,\r\n itemId: routeData.sitecore.route.itemId,\r\n ...routeData.sitecore.context,\r\n });\r\n\r\n if (this.state.notFound) {\r\n this.setState({ notFound: false });\r\n }\r\n } else {\r\n this.setState({ notFound: true }, () => {\r\n const context =\r\n routeData && routeData.sitecore\r\n ? routeData.sitecore.context\r\n : null;\r\n\r\n this.props.updateSitecoreContext(context);\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Updates the current app language to match the route data.\r\n */\r\n updateLanguage() {\r\n const newLanguage =\r\n this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n if (i18n.language !== newLanguage) {\r\n i18n.changeLanguage(newLanguage);\r\n }\r\n }\r\n\r\n componentDidUpdate(previousProps) {\r\n const existingRoute = previousProps.route.match.url;\r\n const newRoute = this.props.route.match.url;\r\n\r\n // don't change state (refetch route data) if the route has not changed\r\n if (existingRoute === newRoute) {\r\n return;\r\n }\r\n\r\n // if in Sitecore editor - force reload instead of route data update\r\n // avoids confusing Sitecore's editing JS\r\n if (isEditorActive()) {\r\n window.location.assign(newRoute);\r\n return;\r\n }\r\n\r\n this.updateLanguage();\r\n this.updateRouteData();\r\n }\r\n\r\n render() {\r\n const { notFound } = this.state;\r\n const routeData = this.props.sitecoreContext;\r\n\r\n // no route data for the current route in Sitecore - show not found component.\r\n // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\r\n // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\r\n if (notFound && routeData) {\r\n return (\r\n
\r\n \r\n {i18n.t('Page not found')}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n // Don't render anything if the route data or dictionary data is not fully loaded yet.\r\n // This is a good place for a \"Loading\" component, if one is needed.\r\n if (!routeData) {\r\n return null;\r\n }\r\n\r\n // Render the app's root structural layout\r\n return ;\r\n }\r\n}\r\n\r\nexport default withSitecoreContext({ updatable: true })(RouteHandler);\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}","import React from 'react';\r\nimport { SitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { ApolloProvider } from 'react-apollo';\r\nimport componentFactory from './temp/componentFactory';\r\nimport RouteHandler from './RouteHandler';\r\nimport ScrollToTop from './react-only-components/ScrollToTop/scrollToTop';\r\n\r\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\r\n// By default the app's normal rendering is delegated to that handles the loading of JSS route data.\r\n\r\n// support languages in the URL prefix\r\n// e.g. /da-DK/path, or /en/path, or /path\r\nexport const routePatterns = [\r\n '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\r\n '/:lang([a-z]{2})/:sitecoreRoute*',\r\n '/:sitecoreRoute*',\r\n];\r\n\r\n// wrap the app with:\r\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\r\n// Not needed if not using connected GraphQL.\r\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\r\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\r\nclass AppRoot extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ssrRenderComplete: false,\r\n };\r\n\r\n if (props.ssrState) {\r\n this.sitecoreContext =\r\n props.ssrState.sitecore && props.ssrState.sitecore.route\r\n ? {\r\n route: props.ssrState.sitecore.route,\r\n itemId: props.ssrState.sitecore.route.itemId,\r\n ...props.ssrState.sitecore?.context,\r\n }\r\n : props.ssrState.sitecore?.context;\r\n } else {\r\n this.sitecoreContext = null;\r\n }\r\n }\r\n\r\n setSsrRenderComplete = (ssrRenderComplete) =>\r\n this.setState({\r\n ssrRenderComplete,\r\n });\r\n\r\n componentDidMount() {\r\n this.setSsrRenderComplete(true);\r\n }\r\n\r\n render() {\r\n const { path, Router, graphQLClient } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {routePatterns.map((routePattern) => (\r\n (\r\n \r\n )}\r\n />\r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppRoot;\r\n","import { RestDictionaryService } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../temp/config';\r\nimport { AxiosDataFetcher, debug } from '@sitecore-jss/sitecore-jss';\r\n\r\nexport class DictionaryServiceFactory {\r\n create() {\r\n const dataFetcher = (url) => {\r\n const isDev = process.env.NODE_ENV === 'development';\r\n\r\n return new AxiosDataFetcher({\r\n debugger: debug.dictionary,\r\n // CORS issue: Sitecore provides 'Access-Control-Allow-Origin' as wildcard '*', so we can't include credentials for the dictionary service\r\n withCredentials: false,\r\n rejectUnauthorized: !isDev,\r\n }).fetch(url);\r\n };\r\n\r\n return new RestDictionaryService({\r\n apiHost: config.sitecoreApiHost,\r\n apiKey: config.sitecoreApiKey,\r\n siteName: config.jssAppName,\r\n dataFetcher,\r\n });\r\n }\r\n}\r\n\r\nexport const dictionaryServiceFactory = new DictionaryServiceFactory();\r\n","import \"react-app-polyfill/ie11\";\r\nimport \"react-app-polyfill/stable\";\r\nimport { isEditorActive } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport \"./webcomponents\";\r\nimport \"./index.scss\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport AppRoot from \"./AppRoot\";\r\nimport GraphQLClientFactory from \"./lib/GraphQLClientFactory\";\r\nimport config from \"./temp/config\";\r\nimport i18ninit from \"./i18n\";\r\nimport Loadable from \"react-loadable\";\r\n\r\n/* eslint-disable no-underscore-dangle */\r\n\r\nlet renderFunction = ReactDOM.render;\r\n\r\nlet initLanguage = config.defaultLanguage;\r\n\r\n/*\r\n SSR Data\r\n If we're running in a server-side rendering scenario,\r\n the server will provide JSON in the #__JSS_STATE__ element\r\n for us to acquire the initial state to run with on the client.\r\n\r\n This enables us to skip a network request to load up the layout data.\r\n We are emitting a quiescent script with JSON so that we can take advantage\r\n of JSON.parse()'s speed advantage over parsing full JS, and enable\r\n working without needing `unsafe-inline` in Content Security Policies.\r\n\r\n SSR is initiated from /server/server.js.\r\n*/\r\nlet __JSS_STATE__ = null;\r\n \r\nconst ssrRawJson = document.getElementById('__JSS_STATE__');\r\nif (ssrRawJson) {\r\n __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML);\r\n} \r\nif (__JSS_STATE__) {\r\n // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\r\n renderFunction = ReactDOM.hydrate;\r\n\r\n // set i18n language SSR state language instead of static config default language\r\n initLanguage = __JSS_STATE__.sitecore.context.language;\r\n}\r\n\r\n/*\r\n GraphQL Data\r\n The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\r\n Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\r\n*/\r\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\r\n// to avoid needing to re-run GraphQL queries after the SSR page loads\r\nconst initialGraphQLState =\r\n __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE\r\n ? __JSS_STATE__.APOLLO_STATE\r\n : null;\r\n\r\nconst graphQLClient = GraphQLClientFactory(\r\n config.graphQLEndpoint,\r\n false,\r\n initialGraphQLState\r\n);\r\n\r\nconst isLegacy = document.createElement(\"script\").noModule === undefined;\r\n\r\nif (isLegacy) {\r\n import(/* webpackChunkName: 'legacy-support' */ \"./polyfills.js\").then(() =>\r\n console.info(\"Legacy browsers support enabled\")\r\n );\r\n}\r\n\r\n/*\r\n App Rendering\r\n*/\r\n// initialize the dictionary, then render the app\r\n// note: if not making a multlingual app, the dictionary init can be removed.\r\ni18ninit(initLanguage)\r\n .then(() => {\r\n // HTML element to place the app into\r\n const rootElement = document.getElementById(\"root\");\r\n\r\n renderFunction(\r\n ,\r\n rootElement\r\n );\r\n })\r\n .then(() => Loadable.preloadReady());\r\n\r\n// THIS SCRIPT WILL LOAD ONLY WHEN THE EXPERIENCE EDITOR IS ENABLED\r\nif (isEditorActive()) {\r\n import(\"./experience-editor-patches/index.js\").then(() =>\r\n console.info(\"EXPERIENCE EDITOR PATCHES LOADED\")\r\n );\r\n}\r\n\r\nwindow.onscroll = function () {\r\n scrollFunction();\r\n};\r\n\r\nfunction scrollFunction() {\r\n if (typeof document != \"undefined\") {\r\n var element = document.getElementById(\"navigation-id\");\r\n var logolist = document.getElementById(\"logo-items\");\r\n if (element && logolist) {\r\n if (\r\n document.body.scrollTop > 50 ||\r\n document.documentElement.scrollTop > 50\r\n ) {\r\n document.querySelector(\"header\").classList.add(\"shrink-content\");\r\n element.classList.add(\"headroom--not-top\");\r\n logolist.classList.add(\"shrink-content\");\r\n } else {\r\n element.classList.remove(\"headroom--not-top\");\r\n document.querySelector(\"header\").classList.remove(\"shrink-content\");\r\n logolist.classList.remove(\"shrink-content\");\r\n }\r\n }\r\n }\r\n}\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport { dictionaryServiceFactory } from \"./lib/dictionary-service-factory\";\r\n\r\n/**\r\n * Initializes the i18next library to provide a translation dictionary to the app.\r\n * If your app is not multilingual, this file and references to it can be removed.\r\n * Elsewhere in the app to use the dictionary `import { t } from 'i18next'; ... t('key')`\r\n * @param {string} language Optional, the initial language. Only used for SSR; otherwise language set in RouteHandler.\r\n * @param {*} dictionary Optional, the dictionary to load. Only used for SSR; otherwise, the dictionary is loaded via JSS dictionary service.\r\n */\r\nexport default function i18nInit(language, dictionary) {\r\n return new Promise((resolve, reject) => {\r\n const options = {\r\n debug: false,\r\n lng: language === \"cn\" ? \"zh\" : language,\r\n fallbackLng: false, // fallback to keys\r\n load: \"currentOnly\", // e.g. don't load 'es' when requesting 'es-MX' -- Sitecore config should handle this\r\n useCookie: false, // using URLs and Sitecore to store language context, don't need a cookie\r\n\r\n interpolation: {\r\n escapeValue: false, // not needed for react\r\n },\r\n };\r\n\r\n if (dictionary) {\r\n // if we got dictionary passed, that means we're in a SSR context with a server-provided dictionary\r\n // so we do not want a backend, because we already know all possible keys\r\n\r\n if (!i18n.isInitialized) {\r\n i18n.use(initReactI18next).init(options, (error) => {\r\n if (error) reject(error);\r\n\r\n i18n.addResourceBundle(\r\n language === \"cn\" ? \"zh\" : language,\r\n \"translation\",\r\n dictionary,\r\n true,\r\n true\r\n );\r\n\r\n resolve();\r\n });\r\n } else {\r\n i18n.changeLanguage(language).then(() => {\r\n i18n.addResourceBundle(\r\n language === \"cn\" ? \"zh\" : language,\r\n \"translation\",\r\n dictionary,\r\n true,\r\n true\r\n );\r\n\r\n resolve();\r\n });\r\n }\r\n } else {\r\n // We're running client-side, so we get translation data from the Sitecore dictionary API using fetch backend\r\n // For higher performance (but less simplicity), consider adding the i18n chained backend to a local cache option like the local storage backend.\r\n\r\n // instantiate the dictionary service.\r\n const dictionaryServiceInstance = dictionaryServiceFactory.create();\r\n\r\n i18n\r\n .use({\r\n type: \"backend\",\r\n read(language, _namespace, callback) {\r\n dictionaryServiceInstance\r\n .fetchDictionaryData(language === \"cn\" ? \"zh\" : language)\r\n .then((phrases) => {\r\n callback(null, phrases);\r\n })\r\n .catch((err) => callback(err, false));\r\n },\r\n })\r\n .use(initReactI18next)\r\n .init(options, (error) => {\r\n if (error) reject(error);\r\n\r\n resolve();\r\n });\r\n }\r\n });\r\n}\r\n","import 'cross-fetch/polyfill';\r\nimport { ApolloClient } from 'apollo-client';\r\nimport {\r\n InMemoryCache,\r\n IntrospectionFragmentMatcher,\r\n} from 'apollo-cache-inmemory';\r\n\r\n/*\r\n INTROSPECTION DATA\r\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n This enables the Apollo cache to process fragments on interface types correctly.\r\n If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json';\r\n\r\n/*\r\n QUERY LINK SELECTION\r\n A link is transport which GraphQL queries are pushed across.\r\n You have many choices.\r\n See the apollo-link documentation for more details.\r\n*/\r\n\r\n// choose between a basic HTTP link to run queries...\r\n// import { createHttpLink } from 'apollo-link-http';\r\n// const link = createHttpLink({ uri: endpoint });\r\n\r\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\nimport { BatchHttpLink } from 'apollo-link-batch-http';\r\n\r\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n// APQ + batched, or APQ + http links for example.\r\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries';\r\nimport config from '../temp/config';\r\n\r\nexport default function (endpoint, ssr, initialCacheState) {\r\n /* HTTP link selection: default to batched + APQ */\r\n const link = createPersistedQueryLink().concat(\r\n new BatchHttpLink({\r\n uri: endpoint,\r\n headers: {\r\n connection: 'keep-alive',\r\n sc_apikey: config.sitecoreApiKey,\r\n },\r\n })\r\n );\r\n\r\n const cache = new InMemoryCache({\r\n fragmentMatcher: new IntrospectionFragmentMatcher({\r\n introspectionQueryResultData,\r\n }),\r\n });\r\n\r\n return new ApolloClient({\r\n ssrMode: ssr,\r\n ssrForceFetchDelay: 100,\r\n link,\r\n cache: cache.restore(initialCacheState),\r\n });\r\n}\r\n"],"sourceRoot":""}