|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Users/All Users/NVIDIA Corporation/Downloader/latest/NvApp/www/ |
Upload File : |
"use strict";(self.webpackChunknvapp=self.webpackChunknvapp||[]).push([[588],{26588:(qe,j,r)=>{r.r(j),r.d(j,{HomeModule:()=>Be});var b=r(3816),M=r(95212),D=r(15824),I=r(85161),G=r(31315),q=r(36877),H=r(65706),p=r(4208),Y=r(34593),z=r(64124),E=r(42578),w=r(94645),F=r(125),c=r(1242),f=r(26772),d=r(83128),R=r(75919),t=r(58527),W=r(3960),K=r(30081),C=r(12667);let Z=(()=>{var n;class o{constructor(e,i){this.router=i,this.logger=e.getLogger("LcarsUriActionHandlerService")}handleLcarsUriAction(e){if(this.logger.info("Action:",e),e.startsWith(C.wY.NvApp))switch(e.replace(C.wY.NvApp+"://","")?.toLowerCase()){case C.tI.Redeem:this.router.navigate([f.f.Rewards]);break;case C.tI.Drivers:this.router.navigate([f.f.Drivers]);break;case C.tI.GraphicsSettings:this.router.navigate([f.f.Manage3dSettings]);break;case C.tI.AppSettings:this.router.navigate([f.f.Preferences]);break;default:this.logger.info("No action defined in client",e)}else e.startsWith(C.wY.Http)?window.open(e,"_blank"):this.logger.error("Not a valid URI",e)}}return(n=o).\u0275fac=function(e){return new(e||n)(t.KVO(b.J6),t.KVO(I.Ix))},n.\u0275prov=t.jDH({token:n,factory:n.\u0275fac,providedIn:"root"}),o})();var tt=r(37898),et=r(13102),nt=r(51917),at=r(58474),it=r(78812),ot=r(37159),g=r(61142),rt=r(12132),st=r(84300),lt=r(2218),y=r(47973),$=r(29370),ct=r(99204),v=r(3457),pt=r(93964),S=r(65240);const dt=["*"];let gt=(()=>{var n;class o{}return(n=o).\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-base-tile"]],inputs:{text:"text"},ngContentSelectors:dt,decls:5,vars:3,consts:[[1,"base-tile-card"],[1,"font-color-primary","text"]],template:function(e,i){1&e&&(t.NAR(),t.j41(0,"div",0)(1,"div",1),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.SdG(4),t.k0s()),2&e&&(t.R7$(2),t.JRh(t.bMT(3,1,i.text)))},dependencies:[S.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%], .base-tile-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.base-tile-card[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height-with-padding);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height-with-padding);border:solid 2px rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;gap:10px}.base-tile-card[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{padding:0 16px;-webkit-box-orient:vertical;-webkit-line-clamp:4;display:-webkit-box}"]}),o})();var mt=r(26513),P=r(80583),N=r(12532),ut=r(43848),L=r(91384),_t=r(14714),ht=r(83915),vt=r(72147),x=r(8619),m=r(53698),_=r(76062),ft=r(62668),Ct=r(35338),V=r(54676),B=r(97888),O=r(44296),bt=r(20288),U=r(31308),T=r(28139),xt=r(61090);const Mt=n=>({"hero-img-blurred":n});function wt(n,o){if(1&n){const a=t.RV6();t.j41(0,"img",25),t.bIt("error",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.fallbackToDefaultHeroImage())}),t.k0s()}if(2&n){const a=t.XpG(2);t.Y8G("src",a.heroImageUrl,t.B4B)("alt",a.appMetadata.title)("ngClass",t.eq3(3,Mt,a.showHoverState))}}function St(n,o){if(1&n){const a=t.RV6();t.j41(0,"img",26),t.bIt("error",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.fallbackToDefaultAppIcon())}),t.k0s()}if(2&n){const a=t.XpG(2);t.Y8G("src",a.appIconUrl,t.B4B)("alt",a.appMetadata.title)}}function It(n,o){if(1&n&&(t.j41(0,"span",27),t.EFF(1),t.k0s()),2&n){const a=t.XpG(2);t.R7$(),t.SpI("",null==a.appMetadata?null:a.appMetadata.shortDescription," ")}}function yt(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.SpI(" - ",t.bMT(2,1,"drivers.installed")," "))}function Pt(n,o){if(1&n&&(t.j41(0,"div",28)(1,"span"),t.EFF(2),t.k0s(),t.DNE(3,yt,3,3,"span",14),t.k0s()),2&n){const a=t.XpG(2);t.R7$(2),t.JRh((null==a.appStatus?null:a.appStatus.version)||(null==a.appMetadata?null:a.appMetadata.version)),t.R7$(),t.Y8G("ngIf",(null==a.appStatus?null:a.appStatus.status)===a.installStatusStates.Installed)}}function Ot(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.tryInBrowser")))}function Tt(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.openInBrowser")))}function At(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",33),t.bIt("click",function(){t.eBV(a);const i=t.XpG(3);return t.Njj(i.onTryInBrowser(null==i.appStatus?null:i.appStatus.status))}),t.qex(1),t.DNE(2,Ot,3,3,"span",14)(3,Tt,3,3,"span",14),t.bVm(),t.k0s()}if(2&n){const a=t.XpG(3);t.R7$(2),t.Y8G("ngIf",(null==a.appStatus?null:a.appStatus.status)!==a.installStatusStates.Installed),t.R7$(),t.Y8G("ngIf",(null==a.appStatus?null:a.appStatus.status)===a.installStatusStates.Installed)}}function kt(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",33),t.bIt("click",function(){t.eBV(a);const i=t.XpG(3);return t.Njj(i.onRemoveClick())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&n&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"layout.apps.uninstall")," "))}function jt(n,o){if(1&n){const a=t.RV6();t.qex(0),t.j41(1,"button",29),t.bIt("mouseenter",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.j41(2,"mat-icon",30),t.EFF(3,"more_vert"),t.k0s()(),t.j41(4,"mat-menu",31,0),t.DNE(6,At,4,2,"button",32)(7,kt,3,3,"button",32),t.nI1(8,"async"),t.k0s(),t.bVm()}if(2&n){const a=t.sdS(5),e=t.XpG(2);t.R7$(),t.Y8G("matMenuTriggerFor",a),t.R7$(5),t.Y8G("ngIf",null==e.appMetadata?null:e.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",(t.bMT(8,3,e.openStateObservable$)||e.isUpdateAvailable)&&!e.isUnInstallationTriggered)}}function Gt(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",34)(1,"p",35),t.EFF(2),t.k0s(),t.j41(3,"div",36)(4,"a",37),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onLearnMore())}),t.EFF(5),t.nI1(6,"translate"),t.k0s()()()}if(2&n){const a=t.XpG(2);t.R7$(2),t.SpI(" ",null==a.appMetadata?null:a.appMetadata.longDescription," "),t.R7$(3),t.SpI(" ",t.bMT(6,2,"common.learnMore")," ")}}function Et(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",38),t.nrm(1,"mat-icon",39),t.j41(2,"span",40),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"a",41),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onSeeWhy())})("mouseenter",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(6),t.nI1(7,"translate"),t.k0s()()}2&n&&(t.R7$(3),t.SpI(" ",t.bMT(4,2,"layout.apps.appUnsupported")," "),t.R7$(3),t.SpI(" ",t.bMT(7,4,"layout.apps.seewhy")," "))}function Ft(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",42)(1,"button",43),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onOpenInBrowser())}),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.nI1(5,"uppercase"),t.k0s(),t.j41(6,"mat-icon",44),t.EFF(7,"open_in_new"),t.k0s()()()}2&n&&(t.R7$(3),t.JRh(t.bMT(5,3,t.bMT(4,1,"layout.apps.openInBrowser"))))}function Rt(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",42)(1,"button",45),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onOpenClick())})("mouseenter",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}2&n&&(t.R7$(2),t.SpI(" ",t.bMT(4,3,t.bMT(3,1,"layout.apps.open"))," "))}function $t(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",45),t.bIt("click",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.EFF(1),t.nI1(2,"translate"),t.nI1(3,"uppercase"),t.k0s()}2&n&&(t.R7$(),t.SpI(" ",t.bMT(3,3,t.bMT(2,1,"layout.apps.get"))," "))}function Nt(n,o){if(1&n){const a=t.RV6();t.qex(0),t.j41(1,"button",51),t.bIt("click",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s(),t.j41(5,"button",52),t.bIt("mouseenter",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.updateHoverState(!0))}),t.j41(6,"mat-icon",53),t.EFF(7,"keyboard_arrow_down"),t.k0s()(),t.j41(8,"mat-menu",31,1)(10,"button",54),t.bIt("click",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.onOpenClick())}),t.EFF(11),t.nI1(12,"translate"),t.k0s()(),t.bVm()}if(2&n){const a=t.sdS(9);t.R7$(2),t.SpI(" ",t.bMT(4,5,t.bMT(3,3,"layout.apps.update"))," "),t.R7$(3),t.Y8G("matMenuTriggerFor",a),t.R7$(6),t.SpI(" ",t.bMT(12,7,"layout.apps.open")," ")}}function Lt(n,o){if(1&n&&(t.j41(0,"div",49),t.DNE(1,$t,4,5,"button",50)(2,Nt,13,9,"ng-container",14),t.k0s()),2&n){const a=t.XpG(4);t.R7$(),t.Y8G("ngIf",!a.isUpdateAvailable),t.R7$(),t.Y8G("ngIf",a.isUpdateAvailable)}}function Vt(n,o){if(1&n&&(t.qex(0),t.DNE(1,Lt,3,2,"div",48),t.bVm()),2&n){const a=t.XpG().ngIf,e=t.XpG(2);t.R7$(),t.Y8G("ngSwitchCase",e.getState.includes(a)?a:"")}}function Bt(n,o){1&n&&(t.j41(0,"label",64),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.downloading")))}function Ut(n,o){1&n&&(t.j41(0,"label",64),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.downloadingUpdate")))}function Xt(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",65)(1,"button",66),t.bIt("click",function(){t.eBV(a);const i=t.XpG(4);return t.Njj(i.onStopDownloadClick())}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}if(2&n){const a=t.XpG(4);t.R7$(),t.Y8G("disabled",a.isDownloadVerifying),t.R7$(),t.SpI(" ",t.bMT(4,4,t.bMT(3,2,"layout.apps.cancel"))," ")}}function Dt(n,o){if(1&n&&(t.j41(0,"div",55),t.nrm(1,"mat-progress-bar",56),t.j41(2,"div",57)(3,"div",58),t.DNE(4,Bt,3,3,"label",59)(5,Ut,3,3,"label",59),t.j41(6,"div",60)(7,"label",61),t.EFF(8),t.nI1(9,"convertBytesToKBMBGB"),t.nI1(10,"convertBytesToKBMBGB"),t.k0s(),t.j41(11,"label",61)(12,"span",62),t.EFF(13,"-"),t.k0s(),t.EFF(14),t.nI1(15,"convertBytesToKBMBGB"),t.k0s()()(),t.DNE(16,Xt,5,6,"div",63),t.k0s()()),2&n){const a=t.XpG(3);t.R7$(),t.Y8G("mode",(null==a.downloadProgressStatus?null:a.downloadProgressStatus.percentComplete)>0?"determinate":"indeterminate")("value",a.downloadProgressStatus.percentComplete),t.R7$(3),t.Y8G("ngIf",!a.isUpdateAvailable),t.R7$(),t.Y8G("ngIf",a.isUpdateAvailable),t.R7$(3),t.Lme(" ",t.bMT(9,8,a.downloadProgressStatus.bytesDone),"/",t.bMT(10,10,a.downloadProgressStatus.totalBytes)," "),t.R7$(6),t.SpI(" ",t.bMT(15,12,a.downloadProgressStatus.downloadSpeed),"/sec "),t.R7$(2),t.Y8G("ngIf",(null==a.downloadProgressStatus?null:a.downloadProgressStatus.percentComplete)>0)}}function qt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.installing")))}function Ht(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.installingUpdate")))}function Yt(n,o){if(1&n&&(t.j41(0,"div",69),t.DNE(1,qt,3,3,"label",70)(2,Ht,3,3,"label",70),t.k0s()),2&n){const a=t.XpG(5);t.R7$(),t.Y8G("ngIf",!a.isUpdateAvailable),t.R7$(),t.Y8G("ngIf",a.isUpdateAvailable)}}function zt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.queued")))}function Jt(n,o){1&n&&(t.j41(0,"label",71),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"layout.apps.queuedForUpdate")))}function Qt(n,o){if(1&n&&(t.j41(0,"div",69),t.DNE(1,zt,3,3,"label",70)(2,Jt,3,3,"label",70),t.k0s()),2&n){const a=t.XpG(5);t.R7$(),t.Y8G("ngIf",!a.isUpdateAvailable),t.R7$(),t.Y8G("ngIf",a.isUpdateAvailable)}}function Wt(n,o){if(1&n&&(t.j41(0,"div",55),t.nrm(1,"mat-progress-bar",67),t.DNE(2,Yt,3,2,"div",68)(3,Qt,3,2,"div",68),t.k0s()),2&n){const a=t.XpG(4);t.R7$(2),t.Y8G("ngIf",!a.isInstallationQueued),t.R7$(),t.Y8G("ngIf",a.isInstallationQueued)}}function Kt(n,o){if(1&n&&(t.qex(0),t.DNE(1,Wt,4,2,"div",47),t.bVm()),2&n){const a=t.XpG(3);t.R7$(),t.Y8G("ngSwitchCase",a.downloadProgressState.DownloadFinished)}}function Zt(n,o){if(1&n&&(t.qex(0)(1,46),t.DNE(2,Vt,2,1,"ng-container",14),t.qex(3),t.DNE(4,Dt,17,14,"div",47),t.bVm(),t.DNE(5,Kt,2,1,"ng-container",14),t.bVm()()),2&n){const a=o.ngIf,e=t.XpG(2);t.R7$(),t.Y8G("ngSwitch",a),t.R7$(),t.Y8G("ngIf",!e.downloadOrInstallTriggered&&!e.isUnInstallationTriggered),t.R7$(2),t.Y8G("ngSwitchCase",e.downloadingState.includes(a)?a:""),t.R7$(),t.Y8G("ngIf",e.downloadOrInstallTriggered)}}function te(n,o){1&n&&(t.qex(0),t.j41(1,"div",55),t.nrm(2,"mat-progress-bar",67),t.j41(3,"div",69)(4,"label",71),t.EFF(5),t.nI1(6,"translate"),t.k0s()()(),t.bVm()),2&n&&(t.R7$(5),t.JRh(t.bMT(6,1,"layout.apps.uninstalling")))}function ee(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",49)(1,"button",45),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onGetClick())})("mouseenter",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!1))})("mouseleave",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.updateHoverState(!0))}),t.EFF(2),t.nI1(3,"translate"),t.nI1(4,"uppercase"),t.k0s()()}2&n&&(t.R7$(2),t.SpI(" ",t.bMT(4,3,t.bMT(3,1,"layout.apps.get"))," "))}function ne(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",3),t.bIt("mouseenter",function(){t.eBV(a);const i=t.XpG();return t.Njj(i.updateHoverState(!0))})("mouseleave",function(){t.eBV(a);const i=t.XpG();return t.Njj(i.updateHoverState(!1))}),t.j41(1,"div",4),t.DNE(2,wt,1,5,"img",5),t.j41(3,"div",6)(4,"div",7)(5,"div",8),t.DNE(6,St,1,2,"img",9),t.j41(7,"div",10)(8,"span",11),t.EFF(9),t.k0s(),t.DNE(10,It,2,1,"span",12)(11,Pt,4,2,"div",13),t.k0s()(),t.DNE(12,jt,9,5,"ng-container",14),t.nI1(13,"async"),t.k0s(),t.DNE(14,Gt,7,4,"div",15),t.k0s(),t.nrm(15,"div",16)(16,"div",17)(17,"div",18)(18,"div",19)(19,"div",20),t.k0s(),t.j41(20,"div",21),t.DNE(21,Et,8,6,"div",22)(22,Ft,8,5,"div",23)(23,Rt,5,5,"div",23),t.nI1(24,"async"),t.DNE(25,Zt,6,4,"ng-container",14),t.nI1(26,"async"),t.DNE(27,te,7,3,"ng-container",14)(28,ee,5,5,"div",24),t.k0s()()}if(2&n){const a=t.XpG();t.R7$(2),t.Y8G("ngIf",a.heroImageUrl),t.R7$(4),t.Y8G("ngIf",a.appIconUrl),t.R7$(3),t.JRh(null==a.appMetadata?null:a.appMetadata.title),t.R7$(),t.Y8G("ngIf",!a.showHoverState),t.R7$(),t.Y8G("ngIf",a.showHoverState),t.R7$(),t.Y8G("ngIf",(t.bMT(13,13,a.openStateObservable$)||a.isUpdateAvailable)&&!a.isUnInstallationTriggered||(null==a.appMetadata?null:a.appMetadata.browserClientUrl)),t.R7$(2),t.Y8G("ngIf",a.showHoverState),t.R7$(7),t.Y8G("ngIf",a.appMetadata.systemRequirementsUrl&&!(null!=a.appMetadata&&a.appMetadata.supported)&&!a.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",!(null!=a.appMetadata&&a.appMetadata.supported)&&a.appMetadata.browserClientUrl),t.R7$(),t.Y8G("ngIf",t.bMT(24,15,a.openStateObservable$)&&!a.isUnInstallationTriggered),t.R7$(2),t.Y8G("ngIf",t.bMT(26,17,a.getStateObservable$)),t.R7$(2),t.Y8G("ngIf",a.isUnInstallationTriggered),t.R7$(),t.Y8G("ngIf",a.appStatusNotFound)}}let ae=(()=>{var n;class o{constructor(e,i){this.loggingService=e,this.appCardService=i,this.downloadProgressState=m.dJ,this.getState=[m.dJ.DownloadStatusPending,m.dJ.DownloadFinished,m.dJ.DownloadStatusPaused],this.downloadingState=[m.dJ.DownloadStarted,m.dJ.DownloadTriggered],this.downloadOrInstallTriggered=!1,this.isInstallationQueued=!1,this.isUnInstallationTriggered=!1,this.isUpdateAvailable=!1,this.installStatusStates=_.Py,this.openStateSubject=new mt.t(!1),this.getStateSubject=new P.B7,this.openStateObservable$=this.openStateSubject.asObservable(),this.getStateObservable$=this.getStateSubject.asObservable(),this.appStatusNotFound=!1,this.unsubscribe$=new P.B7,this.logger=this.loggingService.getLogger("nvapp/AppCardComponent")}ngOnChanges(e){if(!e.appMetadata.firstChange&&this.appMetadata.supported&&e.appMetadata.currentValue){const i=this.appStatus,s=e.appMetadata.currentValue.installStatus;i&&s&&(i.status!==s.status||i.version!==s.version)&&(this.logger.info(`For ${this.appMetadata.id} previousInstallStatus\n ${i.status} ${i.version}\n and currentInstallStatus are different ${s.status}\n ${s.version}`),this.getInstalledStatus(!1))}}ngOnInit(){this.heroImageUrl=this.appMetadata.images?.HERO_IMAGE,this.appIconUrl=this.appMetadata.images?.GAME_ICON,this.appMetadata.supported&&(this.listenNotifications(),this.getInstalledStatus(!0),this.getAppCardStatus())}onGetClick(){this.downloadProgressStatus?.downloadStatus===m.hF.Undefined&&this.appCardService.getIsDownloadStatusRequestTimeout()||this.appStatusNotFound?this.appCardService.showOptionalPluginErrorToastOnButton():(this.downloadOrInstallTriggered=!0,this.appMetadata.isUpdateAvailable=this.checkIsUpdateAvailable(this.appStatus),this.appCardService.triggerGetState(this.appMetadata,this.downloadProgressStatus))}onOpenClick(){this.appCardService.launchApp(this.appMetadata).pipe((0,p.Q)(this.unsubscribe$)).subscribe()}onStopDownloadClick(){this.stopDownload().pipe((0,p.Q)(this.unsubscribe$)).subscribe()}onRemoveClick(){this.isUnInstallationTriggered=!0,this.appCardService.removeApp(this.appMetadata)}fallbackToDefaultHeroImage(){const e=`Error loading hero image for id ${this.appMetadata.id} version ${this.appMetadata.version} using fallback`;this.logger.warn(e),this.appCardService.handleResourceLoadError(this.heroImageUrl,e),this.heroImageUrl=f.qA}fallbackToDefaultAppIcon(){const e=`Error loading app icon for id ${this.appMetadata.id} version ${this.appMetadata.version} using fallback`;this.logger.warn(e),this.appCardService.handleResourceLoadError(this.appIconUrl,e),this.appIconUrl=R.zN}updateHoverState(e){this.showHoverState=e}onOpenInBrowser(){this.appCardService.onAppLinks(this.appMetadata.browserClientUrl,c.nx.OpenInBrowserUnsupported,this.appMetadata)}onSeeWhy(){this.appCardService.onAppLinks(this.appMetadata.systemRequirementsUrl,c.nx.SeeWhy,this.appMetadata)}onTryInBrowser(e){this.appCardService.onAppLinks(this.appMetadata.browserClientUrl,e===_.Py.Installed?c.nx.OpenInBrowser:c.nx.TryInBrowser,this.appMetadata)}onLearnMore(){this.appCardService.onAppLinks(this.appMetadata.learnMoreUrl,c.nx.LearnMore,this.appMetadata)}getAppCardStatus(){const e=this.appCardService.getAppCardStatus(this.appMetadata.componentName);this.isInstallationQueued=e?.isInstallationQueued,this.isUnInstallationTriggered=e?.isUnInstallationTriggered,this.downloadOrInstallTriggered=e?.downloadOrInstallTriggered}stopDownload(){return this.appCardService.stopDownload(this.appMetadata,this.downloadProgressStatus.taskId).pipe((0,L.M)(e=>{this.logger.info("download stop finished",e),this.downloadProgressStatus=e,this.updateGetState(e),this.downloadOrInstallTriggered=!1}),(0,_t.W)(e=>(this.downloadOrInstallTriggered=!1,this.logger.error("download stop failed with Error: ",e),N.w)))}showOpen(){this.openStateSubject.next(this.appMetadata.supported&&this.installStatus===_.Py.Installed&&!this.isUpdateAvailable),this.getStateSubject.next("")}getInstalledStatus(e){const i=this.appCardService.getInstalledStatusForApps([this.appMetadata]).pipe((0,ht.T)(l=>l.apps.filter(h=>h.name===this.appMetadata.componentName)[0]));(e?i:(0,ut.of)(this.appMetadata.installStatus)).pipe((0,vt.n)(l=>(this.logger.info(`install status for ${this.appMetadata.title}`,l),this.appStatus=l,this.installStatus=l?.status,this.isUpdateAvailable=this.checkIsUpdateAvailable(l),this.appMetadata.isUpdateAvailable=this.isUpdateAvailable,this.logger.info(`Update available for ${this.appMetadata.title} ${this.appMetadata.version}`,this.isUpdateAvailable),l.status===_.Py.NotInstalled||this.isUpdateAvailable?(this.openStateSubject.next(!1),this.appCardService.getDownloadStatus(this.appMetadata)):(this.showOpen(),N.w))),(0,L.M)(l=>{this.logger.info(`DownloadProgressStatus for ${this.appMetadata.title}`,l),this.downloadProgressStatus=l,this.updateGetState(l)}),(0,p.Q)(this.unsubscribe$)).subscribe(()=>{this.logger.info(`Installed status done for ${this.appMetadata.title}:`)},l=>{this.logger.error("Installed status checks failed with Error: ",l),this.appStatusNotFound=l.code===w._O||l instanceof ft.n})}listenNotifications(){this.getDownloadProgress(),this.listenForEnqueuedNotification(),this.listenForDequeuedNotification(),this.listenForAppActionNotification(),this.listenForAppActionFinishedNotification()}getDownloadProgress(){this.appCardService.getAppDownloadProgress().pipe((0,x.p)(e=>this.appMetadata.componentName===e?.appMetadata.componentName),(0,p.Q)(this.unsubscribe$)).subscribe(e=>{if(this.downloadProgressStatus=e?.downloadProgressStatus,this.downloadProgressStatus){const i=this.downloadProgressStatus?.downloadStatus;this.isDownloadVerifying=i===m.hF.VerifyingChecksum||i===m.hF.VerifyingSignature,this.appCardService.isNetworkErrorRetryPaused(this.downloadProgressStatus)||this.appCardService.isInvalidPackage(e.downloadProgressStatus)?(this.downloadOrInstallTriggered=!1,this.appCardService.showErrorMessage("layout.apps.downloadError",this.appMetadata),this.logger.error(`Error while downloading for status\n ${this.downloadProgressStatus.downloadStatus}\n for taskId ${this.downloadProgressStatus.taskId}\n appId ${this.appMetadata.id}`)):this.appCardService.isDownloadPaused(this.downloadProgressStatus)||this.appCardService.isDownloadCancelled(this.downloadProgressStatus)?(this.logger.info(`Download status ${this.downloadProgressStatus.downloadStatus} for taskId ${this.downloadProgressStatus.taskId} appId ${this.appMetadata.id}`),this.downloadOrInstallTriggered=!1):this.downloadOrInstallTriggered=this.appCardService.getTriggerScreen()!==c.f3.OOTB,this.updateGetState(this.downloadProgressStatus)}},e=>{this.logger.error(`Error occurred while getting download progress for ${this.appMetadata.title}`,e)})}listenForAppActionFinishedNotification(){this.appCardService.getAppActionFinishedObservable().pipe((0,x.p)(e=>this.appMetadata.componentName===e.componentName),(0,p.Q)(this.unsubscribe$)).subscribe(e=>{this.logger.info("App Action Finished for ",e.title),this.downloadOrInstallTriggered=!1,this.isUnInstallationTriggered=!1,this.getInstalledStatus(!0)},e=>{this.logger.error(`Error occurred while listening for action finished notifications for ${this.appMetadata.title}`,e)})}listenForEnqueuedNotification(){this.appCardService.getEnqueuedObservable().pipe((0,x.p)(e=>this.appMetadata.componentName===e.componentName),(0,p.Q)(this.unsubscribe$)).subscribe(e=>{this.logger.info(`${e.title} added to queue`),this.downloadOrInstallTriggered=!0,this.isInstallationQueued=!0},e=>{this.logger.error(`Error occurred while listening enqueued notification for ${this.appMetadata.title} ${e}`)})}listenForDequeuedNotification(){this.appCardService.getDequeuedObservable().pipe((0,x.p)(e=>this.appMetadata.componentName===e.componentName),(0,p.Q)(this.unsubscribe$)).subscribe(e=>{this.logger.info(`${e.title} removed from queue`),this.isInstallationQueued=!1},e=>{this.logger.error(`Error occurred while listening dequeued notification for ${this.appMetadata.title} ${e}`)})}listenForAppActionNotification(){this.appCardService.getAppActionObservable().pipe((0,x.p)(e=>(this.logger.info("AppActionNotificationReturn:",e,this.appMetadata.componentName),this.appMetadata.componentName===e?.appName)),(0,p.Q)(this.unsubscribe$)).subscribe(e=>{switch(e.actionStatus){case _.I$.ActionSuccess:case _.I$.ActionFailure:this.logger.info(`${e?.action} completed for ${e.appName} with `,e.actionStatus);break;default:this.logger.info(`${e?.action} in progress for `,e.appName),e?.action===_.rc.Install&&(this.downloadOrInstallTriggered=!0,this.appCardService.updateInstallationInProgressFlag(!0),this.getStateSubject.next(m.dJ.DownloadFinished)),e?.action===_.rc.Uninstall&&(this.isUnInstallationTriggered=!0)}},e=>{this.logger.error(`Error occurred while listening app action notification for ${this.appMetadata.title} ${e}`)})}updateGetState(e){const i=this.appCardService.getDownloadProgressState(e);this.getStateSubject.next(i),this.openStateSubject.next(!1)}updateAppCardStatus(){this.appCardService.updateAppCardStatus(this.appMetadata.componentName,{downloadOrInstallTriggered:this.downloadOrInstallTriggered,isInstallationQueued:this.isInstallationQueued,isUnInstallationTriggered:this.isUnInstallationTriggered})}checkIsUpdateAvailable(e){return!(!this.appMetadata.allowUpdate||this.installStatus!==_.Py.Installed)&&this.appCardService.isUpdateAvailable(this.appMetadata.version,e.version)}ngOnDestroy(){this.updateAppCardStatus(),this.unsubscribe$.next(!0),this.unsubscribe$.complete()}}return(n=o).\u0275fac=function(e){return new(e||n)(t.rXU(b.J6),t.rXU(Ct.N))},n.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-card"]],inputs:{appMetadata:"appMetadata"},features:[t.OA$],decls:1,vars:1,consts:[["actionMenu","matMenu"],["openBtnMenu","matMenu"],["class","app-card","fxLayout","column",3,"mouseenter","mouseleave",4,"ngIf"],["fxLayout","column",1,"app-card",3,"mouseenter","mouseleave"],[1,"info-container"],["class","hero-img",3,"src","alt","ngClass","error",4,"ngIf"],["fxLayout","column",1,"info"],["fxLayout","row","fxLayoutAlign","space-between start",1,"details"],["fxLayout","row","fxLayoutAlign","start start"],["class","icon",3,"src","alt","error",4,"ngIf"],["fxLayout","column"],[1,"font-sub1","title"],["class","font-body2 short-desc",4,"ngIf"],["class","font-body3 version",4,"ngIf"],[4,"ngIf"],["class","more-info","fxLayout","column",4,"ngIf"],[1,"header-layer"],[1,"info-bottom-layer-gradient"],[1,"info-top-layer-gradient"],[1,"hero-image-overlay"],[1,"info-overlay"],["fxLayout","column","fxLayoutAlign","center",1,"app-action"],["class","unsupported","fxlayout","row","fxLayoutAlign","start center",4,"ngIf"],["fxlayout","row","fxLayoutAlign","end",4,"ngIf"],["fxlayout","column","fxLayoutAlign","end center",4,"ngIf"],[1,"hero-img",3,"error","src","alt","ngClass"],[1,"icon",3,"error","src","alt"],[1,"font-body2","short-desc"],[1,"font-body3","version"],["mat-button","","fxLayout","row","fxLayoutAlign","center center","aria-label","Action Menu for App Card",1,"menu-button","more-icon-button",3,"mouseenter","mouseleave","matMenuTriggerFor"],[1,"material-icons"],["xPosition","before",1,"app-card-menu"],["mat-menu-item","","class","app-card-menu-item","fxLayout","row","fxLayoutAlign","start center",3,"click",4,"ngIf"],["mat-menu-item","","fxLayout","row","fxLayoutAlign","start center",1,"app-card-menu-item",3,"click"],["fxLayout","column",1,"more-info"],[1,"font-body2","long-desc","desc-line-clamp"],["fxLayout","row",1,"links"],["cdkMonitorElementFocus","",1,"font-body2-link","learn-more-link",3,"click"],["fxlayout","row","fxLayoutAlign","start center",1,"unsupported"],["svgIcon","info",1,"color-white-hue-1","info-icon"],[1,"unsupported-text","font-body2"],["cdkMonitorElementFocus","",1,"font-body2-link",3,"click","mouseenter","mouseleave"],["fxlayout","row","fxLayoutAlign","end"],["fxlayout","row","fxLayoutAlign","center center","mat-button","",1,"font-button2",3,"click"],[1,"open-in-browser-icon"],["mat-raised-button","",1,"font-button2","mat-accent",3,"click","mouseenter","mouseleave"],[3,"ngSwitch"],["fxLayout","column","class","progress-section","fxFlex","",4,"ngSwitchCase"],["fxlayout","column","fxLayoutAlign","end center",4,"ngSwitchCase"],["fxlayout","column","fxLayoutAlign","end center"],["mat-raised-button","","class","font-button2 mat-accent",3,"click","mouseenter","mouseleave",4,"ngIf"],["fxLayout","row","fxLayoutAlign","center center","mat-raised-button","",1,"font-button2","update-button","mat-accent",3,"click","mouseenter","mouseleave"],["mat-raised-button","","aria-label","Open",1,"split-action","mat-accent",3,"mouseenter","mouseleave","matMenuTriggerFor"],[1,""],["mat-menu-item","","fxLayout","row","fxFlexFill","",1,"app-card-menu-btn",3,"click"],["fxLayout","column","fxFlex","",1,"progress-section"],[1,"app-download-progress",3,"mode","value"],["fxLayout","row","fxFlex",""],["fxLayout","column","fxFlex","",1,"app-download-info"],["class","font-sub3 progress-label",4,"ngIf"],[1,"download-stats"],[1,"font-body3"],[1,"spaced"],["fxlayout","row","fxLayoutAlign","end center",4,"ngIf"],[1,"font-sub3","progress-label"],["fxlayout","row","fxLayoutAlign","end center"],["mat-button","",1,"font-button2","cancel-button",3,"click","disabled"],["mode","indeterminate"],["fxLayout","row","fxFlex","","fxLayoutAlign","start center",4,"ngIf"],["fxLayout","row","fxFlex","","fxLayoutAlign","start center"],["class","font-sub3",4,"ngIf"],[1,"font-sub3"]],template:function(e,i){1&e&&t.DNE(0,ne,29,19,"div",2),2&e&&t.Y8G("ngIf",i.heroImageUrl)},dependencies:[g.YU,g.bT,g.ux,g.e1,V.tG,B.Aq,y.iV,$.An,O.pI,O.gy,O.fS,bt.HM,U.vR,v.DJ,v.sA,v.G2,v.UI,T.PW,xt.c,g.Jj,g.Pc,S.D9],styles:["[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}.ellipsis[_ngcontent-%COMP%], .more-info[_ngcontent-%COMP%] .long-desc[_ngcontent-%COMP%], .details[_ngcontent-%COMP%] .short-desc[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.app-card[_ngcontent-%COMP%]{--computed-element-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 52px);width:var(--computed-element-width);position:relative;background:#000;z-index:1;max-width:436px;max-height:298px}.app-card[_ngcontent-%COMP%] .hero-img-blurred[_ngcontent-%COMP%]{transition:filter .2s ease-in;filter:blur(15px)}.info-container[_ngcontent-%COMP%]{width:100%;--computed-element-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 0);position:relative;overflow:hidden}.info-container[_ngcontent-%COMP%] .hero-img[_ngcontent-%COMP%]{height:100%;width:100%;z-index:2}.info-container[_ngcontent-%COMP%] .info-top-layer-gradient[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;background:linear-gradient(180deg,#fff0,#000c);z-index:4}.info-container[_ngcontent-%COMP%] .header-layer[_ngcontent-%COMP%], .info-container[_ngcontent-%COMP%] .info-bottom-layer-gradient[_ngcontent-%COMP%]{position:absolute;width:100%;background:linear-gradient(180deg,#fff0,#000);z-index:4}.info-container[_ngcontent-%COMP%] .header-layer[_ngcontent-%COMP%]{height:70px;top:0;transform:rotate(-180deg)}.info-container[_ngcontent-%COMP%] .info-bottom-layer-gradient[_ngcontent-%COMP%]{height:50px;bottom:0}.info-container[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{position:absolute;z-index:6;top:0;padding:16px;width:100%}.info-container[_ngcontent-%COMP%] .hero-image-overlay[_ngcontent-%COMP%]{background:#0003;z-index:3}.info-container[_ngcontent-%COMP%] .info-overlay[_ngcontent-%COMP%]{background:#0000004d;z-index:5}.info-container[_ngcontent-%COMP%] .hero-image-overlay[_ngcontent-%COMP%], .info-container[_ngcontent-%COMP%] .info-overlay[_ngcontent-%COMP%]{width:100%;height:100%;position:absolute;top:0}.more-info[_ngcontent-%COMP%] .long-desc[_ngcontent-%COMP%]{-webkit-box-orient:vertical;-webkit-line-clamp:4;display:-webkit-box;margin:10px 0;color:#ffffffe6}.more-info[_ngcontent-%COMP%] .learn-more-link[_ngcontent-%COMP%]{margin-right:16px}.more-info[_ngcontent-%COMP%] .desc-line-clamp[_ngcontent-%COMP%]{-webkit-line-clamp:2}.details[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{height:24px;width:24px;margin:8px 10px 0 0}.details[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%]{padding:0;min-width:24px;height:24px;margin-top:4px}.details[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#fff}.details[_ngcontent-%COMP%] .short-desc[_ngcontent-%COMP%]{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box}.unsupported[_ngcontent-%COMP%]{padding:0 15px}.unsupported[_ngcontent-%COMP%] .unsupported-text[_ngcontent-%COMP%]{margin:0 5px;color:#b3b3b3}.unsupported[_ngcontent-%COMP%] .info-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px;color:#ffffffb3}.app-action[_ngcontent-%COMP%]{height:52px;margin-right:8px;z-index:2}.app-action[_ngcontent-%COMP%] .progress-section[_ngcontent-%COMP%]{padding:0 8px 0 15px}.app-download-info[_ngcontent-%COMP%]{margin-top:8px}.app-download-info[_ngcontent-%COMP%] .progress-label[_ngcontent-%COMP%]{line-height:16px}.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:flex}.split-action[_ngcontent-%COMP%]{max-width:24px;min-width:24px;line-height:36px;padding:0}.update-button[_ngcontent-%COMP%]{margin-right:1px}.cancel-button[_ngcontent-%COMP%]{margin-right:-8px}.spaced[_ngcontent-%COMP%]{margin:0 0 0 4px}.open-in-browser-icon[_ngcontent-%COMP%]{width:14px;height:14px;font-size:14px;margin-left:10px}.app-card-menu-btn[_ngcontent-%COMP%]{line-height:48px}@media screen and (min-width: 960px) and (max-width: 1279px){.app-card[_ngcontent-%COMP%]{--computed-element-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 52px);width:var(--computed-element-width)}.info-container[_ngcontent-%COMP%]{--computed-element-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--computed-element-height: calc(var(--computed-element-width) / 1.78);height:calc(var(--computed-element-height) + 0)}.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:none}.more-info[_ngcontent-%COMP%] .desc-line-clamp[_ngcontent-%COMP%]{-webkit-line-clamp:1}}@media screen and (min-width: 1280px) and (max-width: 1440px){.app-download-info[_ngcontent-%COMP%] .download-stats[_ngcontent-%COMP%]{display:none}}"]}),o})();var A=function(n){return n.WideTileImageFallback="assets/img/DefaultGameArt.jpg",n}(A||{}),ie=r(54504),oe=r(51394);const re=["programImage"],se=["tileContainer"],le=(n,o)=>({"tile-mouseover-style":n,enlarged:o}),ce=n=>({"scrim-enlarged-style":n}),pe=n=>({background:n});function de(n,o){if(1&n){const a=t.RV6();t.j41(0,"img",15,2),t.bIt("error",function(){t.eBV(a);const i=t.XpG();return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()}if(2&n){const a=t.XpG();t.Y8G("src",a.tileImageUrl,t.B4B)}}function ge(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",17),t.nrm(1,"div",18),t.j41(2,"img",15,2),t.bIt("error",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()()}if(2&n){const a=t.XpG(2);t.R7$(),t.Y8G("ngStyle",t.eq3(2,pe,"linear-gradient(0deg, rgba(92, 92, 92, 0.60) 0%, rgba(92, 92, 92, 0.60) 100%), url("+a.tile.boxArtImage+") bottom no-repeat, lightgray 50%")),t.R7$(),t.Y8G("src",a.tile.boxArtImage,t.B4B)}}function me(n,o){if(1&n){const a=t.RV6();t.j41(0,"img",15,2),t.bIt("error",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.fallbackToPlaceholderImage())}),t.k0s()}if(2&n){const a=t.XpG(2);t.Y8G("src",a.tileImageUrl,t.B4B)}}function ue(n,o){if(1&n&&t.DNE(0,ge,4,4,"div",16)(1,me,2,1,"ng-template",null,3,t.C5r),2&n){const a=t.sdS(2),e=t.XpG();t.Y8G("ngIf",e.tile.boxArtImage)("ngIfElse",a)}}function _e(n,o){1&n&&t.nrm(0,"div",19)}function he(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",24),t.bIt("click",function(){t.eBV(a);const i=t.XpG(3);return t.Njj(i.goToGraphicsSettings())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&n&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"manage3dSettings.settings")," "))}function ve(n,o){1&n&&(t.j41(0,"span"),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&n&&(t.R7$(),t.JRh(t.bMT(2,1,"common.launch")))}function fe(n,o){1&n&&(t.EFF(0),t.nI1(1,"translate")),2&n&&t.SpI(" ",t.bMT(1,1,"common.play")," ")}function Ce(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",25),t.bIt("click",function(){t.eBV(a);const i=t.XpG(3);return t.Njj(i.launch())}),t.DNE(1,ve,3,3,"span",26)(2,fe,2,3,"ng-template",null,4,t.C5r),t.k0s()}if(2&n){const a=t.sdS(3),e=t.XpG(3);t.R7$(),t.Y8G("ngIf",null==e.tile.type?null:e.tile.type.isCreativeApp)("ngIfElse",a)}}function be(n,o){if(1&n&&(t.j41(0,"div",21)(1,"div"),t.DNE(2,he,3,3,"button",22),t.k0s(),t.j41(3,"div"),t.DNE(4,Ce,4,2,"button",23),t.k0s()()),2&n){const a=t.XpG(2);t.R7$(2),t.Y8G("ngIf",a.hovered),t.R7$(2),t.Y8G("ngIf",a.hovered&&!(null!=a.tile.type&&a.tile.type.isManualAddition))}}function xe(n,o){if(1&n&&(t.qex(0),t.DNE(1,be,5,2,"div",20),t.bVm()),2&n){const a=t.XpG();t.R7$(),t.Y8G("ngIf",a.titleVisible)}}let Me=(()=>{var n;class o{set tvBannerImage(e){this.setImageUrl(e)}set tile(e){this._tile=e}get tile(){return this._tile}get isTileEnlarged(){return this.titleVisible&&(this.focusedFromKeyboard||this.enableMouseHoverState)}constructor(e,i,s){this.loggingService=e,this.ngZone=i,this.focusManager=s,this.mouseLeaveTileEvent=new t.bkB,this.playEvent=new t.bkB,this.graphicsSettings=new t.bkB,this.titleVisible=!1,this.focusedFromKeyboard=!1,this.hovered=!1,this.enableMouseHoverState=!0,this.logger=this.loggingService.getLogger("nvapp/ProgramTileComponent"),this.destroy$=new P.B7}setImageUrl(e){this.tileImageUrl=e||A.WideTileImageFallback}fallbackToPlaceholderImage(){this.logger.warn("Error loading image for "+this.tile.title+" using fallback."),this.tileImageUrl=A.WideTileImageFallback}getContentTitle(){return this.tile.title}updateTitleVisibility(){this.titleVisible=!this.enableMouseHoverState||this.hovered||this.focusedFromKeyboard}tileMouseLeave(){this.enableMouseHoverState&&(this.hovered=!1,this.updateTitleVisibility())}onMouseOverTile(){this.enableMouseHoverState&&(this.hovered=!0,this.updateTitleVisibility())}onFocusChange(e){this.ngZone.run(()=>{this.focusedFromKeyboard="keyboard"===e,this.updateTitleVisibility()})}launch(){this.playEvent.emit(this.tile)}goToGraphicsSettings(){this.graphicsSettings.emit(this.tile)}focus(e){document.activeElement!==this.tileContainer.nativeElement&&e&&e?.dispatchBeforeFocus&&this.focusManager.navigateTo(this.tileContainer.nativeElement,e.detail.dir,{preventScroll:!0})}ngOnDestroy(){this.programImage.nativeElement.src="",this.destroy$.next(!0),this.destroy$.complete()}}return(n=o).\u0275fac=function(e){return new(e||n)(t.rXU(b.J6),t.rXU(t.SKi),t.rXU(M.c_))},n.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-program-tile"]],viewQuery:function(e,i){if(1&e&&(t.GBs(re,5),t.GBs(se,5)),2&e){let s;t.mGM(s=t.lsd())&&(i.programImage=s.first),t.mGM(s=t.lsd())&&(i.tileContainer=s.first)}},inputs:{tvBannerImage:"tvBannerImage",tile:"tile"},outputs:{mouseLeaveTileEvent:"mouseLeaveTileEvent",playEvent:"playEvent",graphicsSettings:"graphicsSettings"},decls:14,vars:12,consts:[["tileContainer",""],["programIconImage",""],["programImage",""],["tvBannerImage",""],["gamingApp",""],[1,"program-tile-card",3,"ngClass"],["cdkMonitorSubtreeFocus","","nvAddKeyboardActivate","","tabindex","0",3,"mouseleave","cdkFocusChange"],[1,"constants-position-relative",3,"mouseover"],[1,"program-tile-image-container","image-container"],["alt","",3,"src","error",4,"ngIf","ngIfElse"],["class","tile-overlay",4,"ngIf"],[4,"ngIf"],[3,"mouseover","ngClass"],[1,"program-title"],["nvEllipsifiedTextWithTooltip","","tooltipClass","custom-tooltip mat-tooltip-font-body3","dir","auto","fxFlex","90",1,"font-body2","font-color-primary","program-tile-card-tray-text"],["alt","",3,"error","src"],["class","fallback-tile-icon",4,"ngIf","ngIfElse"],[1,"fallback-tile-icon"],[1,"fallback-program-icon",3,"ngStyle"],[1,"tile-overlay"],["class","program-tile-button",4,"ngIf"],[1,"program-tile-button"],["mat-raised-button","","color","accent","class","launch-button font-button2","aria-label","Settings",3,"click",4,"ngIf"],["mat-button","","class","launch-button font-button2","aria-label","Launch",3,"click",4,"ngIf"],["mat-raised-button","","color","accent","aria-label","Settings",1,"launch-button","font-button2",3,"click"],["mat-button","","aria-label","Launch",1,"launch-button","font-button2",3,"click"],[4,"ngIf","ngIfElse"]],template:function(e,i){if(1&e){const s=t.RV6();t.j41(0,"div",5)(1,"div",6,0),t.bIt("mouseleave",function(){return t.eBV(s),t.Njj(i.tileMouseLeave())})("cdkFocusChange",function(h){return t.eBV(s),t.Njj(i.onFocusChange(h))}),t.j41(3,"div",7),t.bIt("mouseover",function(){return t.eBV(s),t.Njj(i.onMouseOverTile())}),t.j41(4,"div",8),t.DNE(5,de,2,1,"img",9)(6,ue,3,2,"ng-template",null,1,t.C5r)(8,_e,1,0,"div",10)(9,xe,2,1,"ng-container",11),t.k0s()(),t.j41(10,"div",12),t.bIt("mouseover",function(){return t.eBV(s),t.Njj(i.onMouseOverTile())}),t.j41(11,"div",13)(12,"p",14),t.EFF(13),t.k0s()()()()()}if(2&e){const s=t.sdS(7);t.Y8G("ngClass",t.l_i(7,le,i.titleVisible,i.isTileEnlarged)),t.R7$(5),t.Y8G("ngIf",i.tile.tvBannerImage)("ngIfElse",s),t.R7$(3),t.Y8G("ngIf",i.isTileEnlarged),t.R7$(),t.Y8G("ngIf",i.isTileEnlarged),t.R7$(),t.Y8G("ngClass",t.eq3(10,ce,i.isTileEnlarged)),t.R7$(3),t.SpI(" ",i.tile.title," ")}},dependencies:[g.YU,g.bT,g.B3,V.tG,B.Aq,ie.a,y.iV,oe.ig,U.vR,v.UI,T.PW,T.eI,S.D9],styles:[".isRtl[_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{transform:scaleX(-1)}html[dir=rtl][_ngcontent-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{--dummy: 0;transform:scaleX(-1)}.background-image-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;height:100%;width:100%;z-index:-1}.hotkey-border[_ngcontent-%COMP%]{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}.common-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;z-index:1;background-color:#000000bf}.common-overlay.light-background[_ngcontent-%COMP%]{background-color:#00000080}.common-overlay.no-background[_ngcontent-%COMP%]{background-color:transparent}.constants-position-relative[_ngcontent-%COMP%]{position:relative}.enlarged[_ngcontent-%COMP%]{filter:drop-shadow(0 2px 4px #000000)}.enlarged[_ngcontent-%COMP%] img[_ngcontent-%COMP%], .enlarged[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;z-index:0}.enlarged[_ngcontent-%COMP%] .tile-overlay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.enlarged.program-tile-card[_ngcontent-%COMP%]{z-index:3}.enlarged[_ngcontent-%COMP%]:hover{z-index:4}.enlarged[_ngcontent-%COMP%]:hover .tile-overlay[_ngcontent-%COMP%]{background:linear-gradient(to top,#292929,#29292900 37%);background-color:#000c}.enlarged[_ngcontent-%COMP%]:hover .program-title[_ngcontent-%COMP%]{background-color:#3a3a3a}.tile-mouseover-style[_ngcontent-%COMP%]{z-index:1}.scrim-enlarged-style[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_tileScaling .2s ease-out forwards;position:relative;width:100%;bottom:0;z-index:3;overflow:hidden}@keyframes _ngcontent-%COMP%_tileScaling{0%{transform:scale(1)}to{transform:scale(1.12)}}.selected-program-tile[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;height:100%}.program-tile-image-container[_ngcontent-%COMP%]{background-size:cover;background-color:#00000080}.program-tile-button[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:24px;opacity:0;animation:_ngcontent-%COMP%_program-tile_delayedVisibleAnimation 0ms ease .2s forwards}.isLtr[_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{text-align:left}html[dir=ltr][_ngcontent-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{--dummy0: 0;text-align:left}.isRtl[_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{text-align:right}html[dir=rtl][_ngcontent-%COMP%] .program-tile-card-tray-text[_ngcontent-%COMP%]{--dummy0: 0;text-align:right}.program-tile-card[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height-with-padding);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height-with-padding)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:var(--program-tile-width);height:var(--program-tile-height);max-width:var(--program-tile-max-width);max-height:var(--program-tile-max-height)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%] .fallback-program-icon[_ngcontent-%COMP%]{position:absolute;top:0;left:0;background-size:250%!important;display:flex;width:100%;height:100%;justify-content:center;align-items:center;filter:blur(20px);clip-path:inset(0 0 0 0)}.program-tile-card[_ngcontent-%COMP%] .program-tile-image-container[_ngcontent-%COMP%] .fallback-tile-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{position:relative;width:64px;height:64px}.program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-keyboard-focused[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-program-focused[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%]{background-color:#636363}.program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-keyboard-focused[_ngcontent-%COMP%] .icon-chevron-down[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%]:not(:hover) .cdk-program-focused[_ngcontent-%COMP%] .icon-chevron-down[_ngcontent-%COMP%]{color:#ffffffb3}@keyframes _ngcontent-%COMP%_program-tile_delayedVisibleAnimation{0%{opacity:0}to{opacity:1}}.program-tile-card[_ngcontent-%COMP%]{background-color:inherit;display:inline-block;margin:var(--program-tile-margins);padding:0;position:relative}.program-tile-card[_ngcontent-%COMP%]:focus{border:none;outline:none}.program-tile-card[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0 16px;min-width:84px;margin:0}.program-tile-card[_ngcontent-%COMP%] button.no-size[_ngcontent-%COMP%], .program-tile-card[_ngcontent-%COMP%] button.no-size[_ngcontent-%COMP%] md-icon[_ngcontent-%COMP%]{min-height:0;padding:0;min-width:0;margin:0;height:16px;width:16px;line-height:16px}.program-tile-card[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%]{background-color:#292929;padding:10px 16px;display:flex;align-items:center;height:40px}.program-tile-card[_ngcontent-%COMP%] .program-title[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0}.program-tile-card[_ngcontent-%COMP%] .image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{display:block}.program-tile-card[_ngcontent-%COMP%] .launch-button[_ngcontent-%COMP%]{margin:0 auto}.program-tile-card[_ngcontent-%COMP%]:hover .program-title[_ngcontent-%COMP%]{background-color:#292929}.program-tile-card-tray-text[_ngcontent-%COMP%]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}"]}),o})();function we(n,o){1&n&&t.nrm(0,"nv-app-page-load-spinner")}function Se(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",18),t.bIt("click",function(){t.eBV(a);const i=t.XpG(2);return t.Njj(i.onSeeAllClicked())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&n&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"common.seeAll")," "))}function Ie(n,o){1&n&&(t.qex(0),t.j41(1,"div",19),t.nrm(2,"mat-icon",20),t.j41(3,"span"),t.EFF(4),t.nI1(5,"translate"),t.k0s()(),t.bVm()),2&n&&(t.R7$(4),t.JRh(t.bMT(5,1,"common.somethingWentWrong")))}function ye(n,o){if(1&n){const a=t.RV6();t.j41(0,"nv-app-program-tile",23),t.bIt("playEvent",function(i){t.eBV(a);const s=t.XpG(4);return t.Njj(s.play(i))})("graphicsSettings",function(i){t.eBV(a);const s=t.XpG(4);return t.Njj(s.goToGraphicsSettings(i))}),t.k0s()}if(2&n){const a=o.$implicit;t.Y8G("tile",a)("tvBannerImage",null==a?null:a.tvBannerImage)}}function Pe(n,o){if(1&n&&(t.j41(0,"nv-hig-carousel",22,4),t.DNE(2,ye,1,2,"ng-template",null,5,t.C5r),t.k0s()),2&n){const a=t.sdS(3),e=t.XpG(3);t.Y8G("items",e.sectionItems)("template",a)("containerLeftMarginStr",e.containerLeftMarginStr)("itemProperty",e.itemProperty)("containFocus",!1)("captureFocusForChild",!0)}}function Oe(n,o){1&n&&(t.qex(0),t.j41(1,"div",24),t.nrm(2,"mat-progress-spinner",25),t.j41(3,"label",26),t.EFF(4),t.nI1(5,"translate"),t.k0s()(),t.bVm()),2&n&&(t.R7$(2),t.Y8G("diameter",24),t.R7$(2),t.JRh(t.bMT(5,2,"manage3dSettings.scan.scanning")))}function Te(n,o){if(1&n&&t.DNE(0,Oe,6,4,"ng-container",7),2&n){t.XpG();const a=t.sdS(4),e=t.XpG(2);t.Y8G("ngIf",e.showScanningState)("ngIfElse",a)}}function Ae(n,o){if(1&n){const a=t.RV6();t.qex(0),t.j41(1,"button",30),t.bIt("click",function(){t.eBV(a);const i=t.XpG(5);return t.Njj(i.goToGraphicsWithFilterApplied())}),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.bVm()}2&n&&(t.R7$(2),t.SpI(" ",t.bMT(3,1,"common.view")," "))}function ke(n,o){if(1&n){const a=t.RV6();t.j41(0,"button",31),t.bIt("click",function(i){t.eBV(a);const s=t.XpG(5);return t.Njj(s.goToGraphicsSettings(i))}),t.j41(1,"mat-icon"),t.EFF(2,"add"),t.k0s(),t.EFF(3),t.nI1(4,"translate"),t.k0s()}2&n&&(t.R7$(3),t.SpI(" ",t.bMT(4,1,"common.add")," "))}function je(n,o){if(1&n&&(t.j41(0,"div",28)(1,"nv-app-base-tile",29),t.DNE(2,Ae,4,3,"ng-container",7)(3,ke,5,3,"ng-template",null,6,t.C5r),t.k0s()()),2&n){const a=t.sdS(4),e=t.XpG(4);t.R7$(),t.Y8G("text",e.allProgramsHidden?"layout.programs.hiddenText":"layout.programs.emptyText"),t.R7$(),t.Y8G("ngIf",e.allProgramsHidden)("ngIfElse",a)}}function Ge(n,o){if(1&n&&t.DNE(0,je,5,3,"div",27),2&n){const a=t.XpG(3);t.Y8G("ngIf",a.showEmptyState)}}function Ee(n,o){if(1&n&&t.DNE(0,Pe,4,6,"nv-hig-carousel",21)(1,Te,1,2,"ng-template",null,2,t.C5r)(3,Ge,1,1,"ng-template",null,3,t.C5r),2&n){const a=t.sdS(2),e=t.XpG(2);t.Y8G("ngIf",null==e.sectionItems?null:e.sectionItems.length)("ngIfElse",a)}}function Fe(n,o){if(1&n&&(t.j41(0,"p",32),t.EFF(1),t.k0s()),2&n){const a=t.XpG(2);t.R7$(),t.JRh(a.appsTitle)}}function Re(n,o){1&n&&t.nrm(0,"nv-app-card",35),2&n&&t.Y8G("appMetadata",o.$implicit)}function $e(n,o){if(1&n&&(t.j41(0,"div",33),t.DNE(1,Re,1,1,"nv-app-card",34),t.k0s()),2&n){const a=t.XpG(2);t.R7$(),t.Y8G("ngForOf",a.appMetadatas)("ngForTrackBy",a.trackAppId)}}function Ne(n,o){if(1&n){const a=t.RV6();t.j41(0,"div",8)(1,"nv-hig-marquee",9),t.bIt("actionClicked",function(i){t.eBV(a);const s=t.XpG();return t.Njj(s.onMarqueeActionClicked(i))})("marqueeScrolled",function(i){t.eBV(a);const s=t.XpG();return t.Njj(s.marqueeScrolled(i))})("imageLoadFailure",function(i){t.eBV(a);const s=t.XpG();return t.Njj(s.imageLoadFailure(i))})("beforeChangeSlide",function(i){t.eBV(a);const s=t.XpG();return t.Njj(s.beforeChangeSlide(i))}),t.k0s(),t.j41(2,"div",10)(3,"div",11)(4,"p",12),t.EFF(5),t.nI1(6,"translate"),t.k0s(),t.DNE(7,Se,3,3,"button",13),t.k0s(),t.j41(8,"div",14),t.DNE(9,Ie,6,3,"ng-container",7)(10,Ee,5,2,"ng-template",null,1,t.C5r),t.k0s()(),t.j41(12,"div",15),t.DNE(13,Fe,2,1,"p",16)(14,$e,2,2,"div",17),t.k0s()()}if(2&n){const a=t.sdS(11),e=t.XpG();t.R7$(),t.Y8G("tileData",e.marqueeItems)("gradientOverrides",e.marqueeGradientOverrides)("imageOverrides",e.marqueeImageOverrides)("overlayOverrides",e.marqueeOverlayOverrides)("enableAnimation",e.enableAnimation),t.R7$(4),t.JRh(t.bMT(6,11,"common.library")),t.R7$(2),t.Y8G("ngIf",(null==e.sectionItems?null:e.sectionItems.length)>=e.maxSeeAllCount),t.R7$(2),t.Y8G("ngIf",e.errorIndicator.isLocalGameError)("ngIfElse",a),t.R7$(4),t.Y8G("ngIf",e.appsTitle),t.R7$(),t.Y8G("ngIf",null==e.appMetadatas?null:e.appMetadatas.length)}}const Le=[{path:"",component:(()=>{var n;class o extends z.${constructor(e,i,s,l,h,u,k,X,Ue,Xe,De){super(e),this.appBarService=i,this.layoutService=s,this.lcarsUriActionHandlerService=l,this.performanceMeasureService=h,this.scanApisService=u,this.programsService=k,this.routerHandlerService=X,this.nvAppTelemetryUtilService=Ue,this.telemetryService=Xe,this.pluginNotificationService=De,this.isLoading=!0,this.sectionItems=[],this.itemProperty={widthCSSVar:"--program-tile-width",heightCSSVar:"--program-tile-height-with-padding",marginCSSVar:"--program-tile-margins",maxWidthCSSVar:"--program-tile-max-width",maxHeightCSSVar:"--program-tile-max-height-with-padding"},this.containerLeftMarginStr="--container-left-margin",this.showScanningState=!1,this.showEmptyState=!1,this.allProgramsHidden=!1,this.maxSeeAllCount=5,this.errorIndicator={isLocalGameError:!1,isNvcplError:!1},this.enableAnimation=!1,this.scanStatus=!1,this.areApplicationsFetched=!1,this.logger=e.getLogger("nvapp/LayoutComponent"),this.appBarService.setTitle("menu.home"),this.marqueeGradientOverrides={leftEdge:!1,leftMerge:!0,bottomEdge:!0,background:!1,backgroundOverhang:!1},this.marqueeImageOverrides={disableMask:!0,globalFallbackImageUrl:w.K1,customBackground:!0},this.marqueeOverlayOverrides={contentOverlayType:M.t4.FullBleedImage},this.telemetryService.setScreen(c.f3.Home)}ngOnInit(){this.autoRefreshApps(),this.performanceMeasureService.markNvAppPerformanceMarkers([d.mM.NvAppHomeRouteNavigationEnd,d.mM.NvAppHomeDataFetchStart],d.fR.Home),this.getLayout(),this.registerForModulesState()}trackAppId(e,i){return i.id}contentLinkClick(e){this.lcarsUriActionHandlerService.handleLcarsUriAction(e.uri)}play(e){const i=+e.id;this.programsService.launchApp(i).pipe((0,H.s)(1)).subscribe(()=>{this.nvAppTelemetryUtilService.sendClickEvent(c.EB.LibraryPlay,c.IH.Library,!1,e.type?.drsProfileName)},s=>{this.logger.error(`Error while launching for localId ${i}`,s)})}onSeeAllClicked(){this.nvAppTelemetryUtilService.sendClickEvent(c.EB.LibrarySeeAll,c.IH.Library,!1),this.routerHandlerService.routeToGraphics()}goToGraphicsSettings(e){this.nvAppTelemetryUtilService.sendClickEvent(c.EB.LibraryGraphicsSettings,c.IH.Library,!1,e.type?.drsProfileName),this.routerHandlerService.routeToGraphics({localId:+e.id})}goToGraphicsWithFilterApplied(){this.routerHandlerService.routeToGraphics({filter:F.dj.FilterByHidden})}getScanStatus(){this.scanApisService.getScanInitiated().pipe((0,p.Q)(this.unsubscribe$)).subscribe(e=>{this.scanStatus=e,this.updateScanningStatus(),this.updateEmptyState()})}getAllPrograms(){(0,G.zV)([this.programsService.getAllPrograms(),(0,q.R)(window,"resize").pipe((0,Y.Z)(0))]).pipe((0,p.Q)(this.unsubscribe$)).subscribe(([e,i])=>{let s=e.filter(h=>!h.isHidden);this.allProgramsHidden=0!==e.length&&0===s.length,this.allProgramsHidden||(s=this.scanApisService.sortApps(s,F.NO.SortByRecentLaunch));const l=s?.slice(0,15);if(l?.length>0){const h=l.map(u=>{const k={isCreativeApp:u.isCreativeApp,isManualAddition:u.isManuallyAdded,drsProfileName:u?.drsProfileName||u.shortName};return{id:u.localId?.toString(),title:u.displayName,boxArtImage:u.images?.GAME_ICON,tvBannerImage:this.layoutService.formatImages(u.images?.TV_BANNER,R.IQ),visibility:!0,type:k}});this.sectionItems=h}this.areApplicationsFetched=!0,this.updateScanningStatus(),this.updateEmptyState(),this.logger.info("Section items length",this.sectionItems.length)},e=>{this.logger.error("Error while loading programs",e)})}getLayout(){this.getScanStatus(),this.getAllPrograms(),this.layoutService.listenToPanelUpdates().pipe((0,p.Q)(this.unsubscribe$)).subscribe(e=>{this.performanceMeasureService.markNvAppPerformanceMarkers([d.mM.NvAppHomeDataFetchEnd,d.mM.NvAppHomeViewRenderStart],d.fR.Home),this.logger.info("Layout Information fetched"),this.marqueeItems=e?.marqueeItems.map(i=>({action:i.action,body:i.body,fallbackImage:w.R$,marqueeHeroImage:i.images?.MARQUEE_HERO_IMAGE,id:i.id,title:i.title,type:M.t4.PaddedImage,telemetryId:i.id})),this.appMetadatas=e.appMetadata,this.appsTitle=e.appsTitle,this.isLoading=!1,this.performanceMeasureService.markNvAppPerformanceMarkers([d.mM.NvAppHomeViewRenderEnd],d.fR.Home)},e=>{this.performanceMeasureService.markNvAppPerformanceMarkers([d.mM.NvAppHomeDataFetchEnd,d.mM.NvAppHomeViewRenderStart,d.mM.NvAppHomeViewRenderEnd],d.fR.Home),this.isLoading=!1,this.logger.error("Error occurred while fetching layout ",e)})}autoRefreshApps(){this.layoutService.autoRefreshApps().pipe((0,p.Q)(this.unsubscribe$)).subscribe(e=>{e&&(this.logger.info("Apps refreshed"),this.appMetadatas=e)},e=>{this.logger.error("Error occurred while refreshing apps",e)})}updateScanningStatus(){this.showScanningState=this.scanStatus&&!this.sectionItems.length,this.logger.info("showScanningState",this.showScanningState)}registerForModulesState(){(0,G.zV)([this.pluginNotificationService.isPluginLoaded(f.dz),this.pluginNotificationService.isPluginLoaded(f.WP)]).pipe((0,p.Q)(this.unsubscribe$)).subscribe(([e,i])=>{this.errorIndicator={isLocalGameError:!e,isNvcplError:!i},this.logger.info("Plugin state",this.errorIndicator),e||this.updateEmptyState()},e=>{this.logger.error("Error while listening for plugin notification: ",e)})}updateEmptyState(){this.showEmptyState=!this.sectionItems?.length&&!this.showScanningState&&this.areApplicationsFetched,this.logger.info("Empty state value",this.showEmptyState)}onMarqueeActionClicked(e){const i=e.action;if(this.logger.info("Marquee Action: ",i),i.uri.startsWith(E.wY.NvApp))this.contentLinkClick({position:e.position,uri:i.uri});else{if(!i.uri.startsWith(E.wY.Http))return void this.logger.error("Not a valid URI",i.uri);window.open(i.uri,"_blank")}this.nvAppTelemetryUtilService.sendMarqueeElement(i.uri,i.label,c.IH.Marquee,c.tV.Home,e.position,this.marqueeItems[e.position].telemetryId)}marqueeScrolled(e){e.autoScrolled?this.nvAppTelemetryUtilService.sendMarqueeElement("",c.Hb,c.IH.Marquee,c.tV.Home,e.position,this.marqueeItems[e.position].telemetryId):this.nvAppTelemetryUtilService.sendClickEvent(c.EB.MarqueeScroll,c.IH.Marquee,!0,e?.position+"")}imageLoadFailure(e){this.nvAppTelemetryUtilService.sendResourceLoadErrorEvent(c.vt.Image,this.marqueeItems?.[e]?.marqueeHeroImage??w.R$,"failed to load image",null,c.mF.Marquee,!0)}beforeChangeSlide(e){this.enableAnimation=!0}ngOnDestroy(){super.ngOnDestroy()}}return(n=o).\u0275fac=function(e){return new(e||n)(t.rXU(b.J6),t.rXU(W.g),t.rXU(K.Y),t.rXU(Z),t.rXU(tt.M),t.rXU(et.I),t.rXU(nt.Z),t.rXU(at.V),t.rXU(c.AY),t.rXU(it.H0),t.rXU(ot.m))},n.\u0275cmp=t.VBU({type:n,selectors:[["nv-app-layout"]],features:[t.Vt3],decls:3,vars:2,consts:[["layoutData",""],["localGamesNoErrorState",""],["scanningState",""],["emptyState",""],["nvHigCarouselItem",""],["programTileTemplate",""],["noPrograms",""],[4,"ngIf","ngIfElse"],["fxFlex","","fxFlexFill","",1,"app-home-layout"],[3,"actionClicked","marqueeScrolled","imageLoadFailure","beforeChangeSlide","tileData","gradientOverrides","imageOverrides","overlayOverrides","enableAnimation"],[1,"programs-section"],[1,"programs-section-title-row"],[1,"font-header6"],["class","font-button2","mat-button","",3,"click",4,"ngIf"],[1,"programs-carousel"],[1,"layout"],["class","font-header6 app-cards-title",4,"ngIf"],["class","app-cards","fxLayout","row wrap",4,"ngIf"],["mat-button","",1,"font-button2",3,"click"],[1,"font-sub1","empty-state"],["svgIcon","alert_circle",1,"material-icons"],["nvSpatialNavigationContainer","","captureAndTransitFocusPolicy","closest",3,"items","template","containerLeftMarginStr","itemProperty","containFocus","captureFocusForChild",4,"ngIf","ngIfElse"],["nvSpatialNavigationContainer","","captureAndTransitFocusPolicy","closest",3,"items","template","containerLeftMarginStr","itemProperty","containFocus","captureFocusForChild"],[3,"playEvent","graphicsSettings","tile","tvBannerImage"],[1,"scanning-state"],["mode","indeterminate",1,"mat-accent",3,"diameter"],[1,"font-body2","font-color-primary","program-empty-state"],["class","program-empty-state",4,"ngIf"],[1,"program-empty-state"],[3,"text"],["mat-button","","aria-label","View",1,"font-button2",3,"click"],["mat-button","","aria-label","Add",1,"font-button2","add-button-icon",3,"click"],[1,"font-header6","app-cards-title"],["fxLayout","row wrap",1,"app-cards"],[3,"appMetadata",4,"ngFor","ngForOf","ngForTrackBy"],[3,"appMetadata"]],template:function(e,i){if(1&e&&t.DNE(0,we,1,0,"nv-app-page-load-spinner",7)(1,Ne,15,13,"ng-template",null,0,t.C5r),2&e){const s=t.sdS(2);t.Y8G("ngIf",i.isLoading)("ngIfElse",s)}},dependencies:[g.Sq,g.bT,rt.w,st._,lt.R,y.iV,$.An,ct.LG,v.DJ,v.G2,v.UI,pt.Q,gt,ae,Me,S.D9],styles:["[_ngcontent-%COMP%]:root{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: 100vw;--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * 100vw);--hig-marquee-corner-column: 56px;--hig-marquee-text-column: 14vw;--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}[_ngcontent-%COMP%]:root{--rwd-column-count: 4;--rwd-gutter-count: 3 ;--rwd-gutter-size: 8px;--rwd-container-side-spacing: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 3 ) / 4);--rwd-sidebar-width: 0px}@media screen and (min-width: 480px){[_ngcontent-%COMP%]:root{--rwd-column-count: 6;--rwd-gutter-count: 5 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 5 ) / 6)}}@media screen and (min-width: 720px){[_ngcontent-%COMP%]:root{--rwd-column-count: 8;--rwd-gutter-count: 7 ;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 16px - 8px * 7 ) / 8)}}@media screen and (min-width: 960px){[_ngcontent-%COMP%]:root{--rwd-column-count: 12;--rwd-gutter-count: 11 ;--rwd-container-side-spacing: 24px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 8px * 11 ) / 12)}}@media screen and (min-width: 1440px){[_ngcontent-%COMP%]:root{--rwd-gutter-size: 16px;--rwd-column-size: calc((100vw - var(--rwd-sidebar-width) - 2 * 24px - 16px * 11 ) / 12)}}.ellipsis[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden}.isRtl[_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{transform:scaleX(-1)}html[dir=rtl][_ngcontent-%COMP%] .flip-rtl-element[_ngcontent-%COMP%]{--dummy: 0;transform:scaleX(-1)}.background-image-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;height:100%;width:100%;z-index:-1}.hotkey-border[_ngcontent-%COMP%]{border:1px solid #ffffff;padding:4px 8px;font-weight:500;line-height:32px;margin:4px}[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(100vw - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * (100vw - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((100vw - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing));--hig-marquee-padded-image-first-row: calc(var(--hig-marquee-ratio) * (100vw - var(--rwd-sidebar-width) - var(--hig-marquee-corner-column) - var(--hig-marquee-text-column)));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-padding-bottom: 0px;--full-bleed-title-margin-bottom: 16px;--text-overlay-content-body-lines: 3;--hig-marquee-left-merge-gradient: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, #000000 37.69%, #000000 100%);--hig-marquee-custom-container-background: #000000;--full-bleed-overlay-content-width: calc(calc(calc((100vw - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing)) + calc(var(--hig-marquee-third-column) / 2) - 24px - 24px);--hig-marquee-left-edge-gradient-width: calc( calc(calc((100vw - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing)) + calc(var(--hig-marquee-third-column) / 2) + var(--hig-marquee-corner-column) );--hig-marquee-container-height: var(--hig-marquee-padded-image-first-row);--hig-marquee-animation-duration: .5s}@media screen and (min-width: 960px) and (max-width: 1279px){nv-hig-marquee[_ngcontent-%COMP%]{--text-overlay-content-body-lines: 2;--full-bleed-title-margin-bottom: 8px;--hig-marquee-tile-action-button-margin-top: 16px}}@media (min-width: 1920px){nv-hig-marquee[_ngcontent-%COMP%]{--full-bleed-overlay-content-max-width: 750px}}@media (min-width: 3840px){[_nghost-%COMP%]{--hig-marquee-ratio: .3229;--hig-marquee-parent-container-width: calc(100vw - var(--rwd-sidebar-width));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * calc(100vw - var(--rwd-sidebar-width)));--hig-marquee-corner-column: 56px;--hig-marquee-text-column: calc(calc((100vw - var(--rwd-sidebar-width)) * .31 - var(--hig-marquee-corner-column)) + (1 - .31) * 2 * var(--rwd-container-side-spacing));--hig-marquee-padded-image-first-row: 818px;--assumed-parent-container-width: calc((var(--hig-marquee-padded-image-first-row) / calc(var(--hig-marquee-ratio))) + var(--hig-marquee-corner-column) + var(--hig-marquee-text-column));--hig-marquee-container-height: calc(var(--hig-marquee-ratio) * var(--assumed-parent-container-width));--hig-marquee-padded-image-second-row: calc(var(--hig-marquee-container-height) - var(--hig-marquee-padded-image-first-row))}}[_nghost-%COMP%]{--container-left-margin: 24px;--container-top-margin: 8px;--program-tile-max-width: 436px;--program-tile-max-height: 246px;--program-tile-max-height-with-padding: calc(var(--program-tile-max-height) + 40px);--program-tile-width: calc(3 * var(--rwd-column-size) + 2 * var(--rwd-gutter-size));--program-tile-height: calc(var(--program-tile-width) / 1.78);--program-tile-height-with-padding: calc(var(--program-tile-height) + 40px);gap:var(--rwd-gutter-size);--program-tile-margins: var(--container-top-margin) var(--rwd-gutter-size) var(--container-top-margin) 0px}.layout[_ngcontent-%COMP%]{padding:0 var(--rwd-container-side-spacing)}.layout[_ngcontent-%COMP%] .app-cards-title[_ngcontent-%COMP%]{margin:30px 0 16px}.layout[_ngcontent-%COMP%] .action-cards[_ngcontent-%COMP%], .layout[_ngcontent-%COMP%] .app-cards[_ngcontent-%COMP%]{margin:16px 0;gap:var(--rwd-gutter-size)}.layout[_ngcontent-%COMP%] nv-app-action-card[_ngcontent-%COMP%]:hover{z-index:1}.programs-section[_ngcontent-%COMP%]{display:flex;flex-direction:column}.programs-section[_ngcontent-%COMP%] .programs-section-title-row[_ngcontent-%COMP%]{display:flex;align-items:center;margin:24px 0 8px;height:36px;padding:0 24px}.programs-section[_ngcontent-%COMP%] .programs-section-title-row[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{flex:1;margin:0}.programs-section[_ngcontent-%COMP%] .program-empty-state[_ngcontent-%COMP%]{padding:0 24px}.programs-section[_ngcontent-%COMP%] .programs-carousel[_ngcontent-%COMP%]{height:calc(min(var(--program-tile-height-with-padding),var(--program-tile-max-height-with-padding)) + var(--container-top-margin))}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%]{padding:0 8px}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:20px}.isLtr[_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isLtr [_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-right:8px}html[dir=ltr][_ngcontent-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-right:8px}.isRtl[_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .isRtl [_nghost-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{padding-left:8px}html[dir=rtl][_ngcontent-%COMP%] .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{--dummy2: 0;padding-left:8px}.programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .programs-section[_ngcontent-%COMP%] .add-button-icon[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:20px;height:20px;width:20px}.programs-section[_ngcontent-%COMP%] .scanning-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:16px}@media screen and (min-width: 960px) and (max-width: 1279px){[_nghost-%COMP%]{--program-tile-width: calc(4 * var(--rwd-column-size) + 3 * var(--rwd-gutter-size));--program-tile-height: calc(var(--program-tile-width) / 1.78);--program-tile-height-with-padding: calc(var(--program-tile-height) + 40px);gap:var(--rwd-gutter-size)}}"]}),o})()}];let Ve=(()=>{var n;class o{}return(n=o).\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.$C({type:n}),n.\u0275inj=t.G2t({imports:[I.iI.forChild(Le),I.iI]}),o})(),Be=(()=>{var n;class o{}return(n=o).\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.$C({type:n}),n.\u0275inj=t.G2t({imports:[Ve,b._N,D.G,(0,b.BU)(),M.bm]}),o})()}}]);
// SIG // Begin signature block
// SIG // MIImNQYJKoZIhvcNAQcCoIImJjCCJiICAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // Lc2WSfXtMVosZxdLg8qKV9yTwmum3JzSNj+I3oQpnYmg
// SIG // gg20MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu
// SIG // 2TANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQGEwJVUzEV
// SIG // MBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
// SIG // d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2Vy
// SIG // dCBUcnVzdGVkIFJvb3QgRzQwHhcNMjEwNDI5MDAwMDAw
// SIG // WhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIICIjANBgkq
// SIG // hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3
// SIG // XdU5WRuxiEL1M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH
// SIG // 4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZwZHMgQM+TXAk
// SIG // ZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXz
// SIG // ENOLsvsI8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzh
// SIG // GMIazMXuk0lwQjKP+8bqHPNlaJGiTUyCEUhSaN4QvRRX
// SIG // XegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjq
// SIG // GzLmysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEj
// SIG // R0ezoQ9uo6ttmAaDG7dqZy3SvUQakhCBj7A7CdfHmzJa
// SIG // wv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
// SIG // k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBe
// SIG // M/Lo6OwKp7ADK5GyNnm+960IHnWmZcy740hQ83eRGv7b
// SIG // UKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3sMJN2
// SIG // FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrc
// SIG // JisB9IlNWdt4z4FKPkBHX8mBUHOFECMhWWCKZFTBzCEa
// SIG // 6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1Hs/q27Iwy
// SIG // CQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQI
// SIG // MAYBAf8CAQAwHQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7
// SIG // CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/n
// SIG // upiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAK
// SIG // BggrBgEFBQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYB
// SIG // BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBB
// SIG // BggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNl
// SIG // cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQw
// SIG // QwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGln
// SIG // aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
// SIG // cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEw
// SIG // DQYJKoZIhvcNAQEMBQADggIBADojRD2NCHbuj7w6mdNW
// SIG // 4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L/Z6j
// SIG // fCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3
// SIG // WqqQz/WTauPrINHVUHmImoqKwba9oUgYftzYgBoRGRjN
// SIG // YZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rdKOtfJqGV
// SIG // WEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67
// SIG // Np375SFTWsPK6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIU
// SIG // H0AzfAPilbLCIXVzUstG2MQ0HKKlS43Nb3Y3LIU/Gs4m
// SIG // 6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL
// SIG // 6TEa/y4ZXDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt
// SIG // 2zyknIYf48FWGysj/4+16oh7cGvmoLr9Oj9FpsToFpFS
// SIG // i0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+u
// SIG // KIw8y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8i
// SIG // bEH5glwVZsxsDsrFhsP2JjMMB0ug0wcCampAMEhLNKhR
// SIG // ILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
// SIG // SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqG
// SIG // VnhOMIIG/DCCBOSgAwIBAgIQCZfFbKpZBVOU2anNuL7r
// SIG // VjANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQGEwJVUzEX
// SIG // MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
// SIG // OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5n
// SIG // IFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMB4XDTIzMDEx
// SIG // MzAwMDAwMFoXDTI2MDExNjIzNTk1OVowgYAxCzAJBgNV
// SIG // BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQwEgYD
// SIG // VQQHEwtTYW50YSBDbGFyYTEbMBkGA1UEChMSTlZJRElB
// SIG // IENvcnBvcmF0aW9uMQwwCgYDVQQLEwMyLUoxGzAZBgNV
// SIG // BAMTEk5WSURJQSBDb3Jwb3JhdGlvbjCCAaIwDQYJKoZI
// SIG // hvcNAQEBBQADggGPADCCAYoCggGBAIiAXRBzCNRy05OZ
// SIG // NUtJguKdJ1R5HNatdvXtn+pWXHg9PfhU9A5ZboWwSPej
// SIG // iZxJn9clYWVpyjPbkkFvaTBLYeHArmzswavs7+bct4df
// SIG // BTBZG8Qmc9kusaaOxNnuUevseGAC5H61QsGOVATdRQfS
// SIG // kfaP7kTBF9wuIat7BXVglPAlZagQTZWA/BA4Vr8GeNVY
// SIG // 5jU2C6F907UM6orsfsVfkBI8HSowD1U/faTS1yMBu1Mx
// SIG // ePUKZosFn2tYE4dUWId/Vv6LKWk30e/63C5Ul9e3eY7x
// SIG // aZ4eC0TqxluMWb2XdvCcfw9dELeI+0suWliFIyCgSf3A
// SIG // Kuq9cXnoMOBoPEeBOr3XWfCCNLxf9RcGxyaNPd1KcTOO
// SIG // ErSJMFpOCnVi5kys2NrTrFMFVZiRC49BidetoT6cHt3Z
// SIG // f+VHR3rqdUbo4xSpuvsfNA4GRYcWI2KvY3T6hBlrgTlr
// SIG // ngfA3ztOn+38KGJavEa7iJ+k/kjjnD47t0qQoRiujBi+
// SIG // q+mv6Hgy/g0VeQIDAQABo4ICBjCCAgIwHwYDVR0jBBgw
// SIG // FoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYE
// SIG // FL5vQA7WEARmpu0ItwJOm7f48LbRMA4GA1UdDwEB/wQE
// SIG // AwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0f
// SIG // BIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2Vy
// SIG // dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu
// SIG // Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZN
// SIG // aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0
// SIG // VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0
// SIG // MjAyMUNBMS5jcmwwPgYDVR0gBDcwNTAzBgZngQwBBAEw
// SIG // KTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2Vy
// SIG // dC5jb20vQ1BTMIGUBggrBgEFBQcBAQSBhzCBhDAkBggr
// SIG // BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
// SIG // MFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0cy5kaWdp
// SIG // Y2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2ln
// SIG // bmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNydDAMBgNV
// SIG // HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQBNa3En
// SIG // raaMqv58RZV1qn0K09tv83qxwHaM6/N40w2fMljnGOxS
// SIG // xR1g0+R26S7XtwpzG+b8LWmWmyJKiZIogVkcfZpchS6B
// SIG // x+9HcUSo7TBBJn4ylcpQzksLOCmT6/DSeIDYucyQiHo8
// SIG // Nq3XkLpkJaDETnCBDulYZ+9pavQT4lNpB6sffbjsDcQ7
// SIG // CZQdImdzyNwd81c56xZc05ufVkronW78r35vwhzuNd88
// SIG // YQXr26fClBEXf3cNvytVupOeHZTy0Od+tPnAPl5744un
// SIG // 0f1MDjiKRne5FqDoo2F4EoeJQuaS6tWcFQg55dOEmOwS
// SIG // E8mweLCWDTTWmZV6x0IGHwagde1S5rkkmxpvAZRUkaD/
// SIG // ZTyxDiHywNi981mFvCnS1gKGd8GpqDuChpKAet8ivgB3
// SIG // 8hVTE/jsstKwQL7HNGxlmk7hyFxkbUNXki2gwJ/CSGaQ
// SIG // qqS3ctjF5Vv8mbtH2f3pK3AFaXOW7wDfjeuqF+yh6UxT
// SIG // ockgH6Ggc4tj+rcrwWhnbgu+JljlBbSKtGiEXMjA9Ccg
// SIG // YsbOIS9T1/FRAOW4KzCaG2FaX5eIhnCqXl79Va2OV8ul
// SIG // IgIbn1XaQQk6RvNPIwZzM8TARUTR9d1edtiuOymxDYm6
// SIG // j16TmoLkXlWUGLj05+yKut6rkqmYCqCJHRHD0T7LXUmw
// SIG // eBMWDQ5e0t8ADV8KGzGCF9kwghfVAgEBMH0waTELMAkG
// SIG // A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMu
// SIG // MUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVkIEc0IENv
// SIG // ZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
// SIG // MQIQCZfFbKpZBVOU2anNuL7rVjANBglghkgBZQMEAgEF
// SIG // AKB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCAgsODA
// SIG // oSojpLb5wvc4dL2eH8ap+PwnHWqgAG708nftmTANBgkq
// SIG // hkiG9w0BAQEFAASCAYAe2ncfk1cW9GXnuv56b1jSRVtD
// SIG // JKpOb1vd0m/LmXH06uY59poxOLVHXZhFe5cBURmsSeDR
// SIG // tROENvAuIr1lUafPH/HajKorUkwoAqw+rsGIag4PY70G
// SIG // Gel+ksWd1obFAQO/Y0Q2Mi0JIdSnaRPqCG4qnyPwCM5y
// SIG // 9DkZjiLAeKZ7bOnwnYJkpeIVPDRM6o8fDDGHY1TXVIxZ
// SIG // Tm1kD9lAoyoID6Lw4XMhH8V6Z3KCw0zpKUZv8xnNdhJ/
// SIG // pmNEvmWaG7YcFDyuvzDbo+wc+PcfsU1yUY/vrewxCbB2
// SIG // bZa1kEg8s8UHXRZpwI3aQhfDA/aUinNk2RghMGXSgV7A
// SIG // BISjzYI8kHoNkzHqPQAvVArPZv8gSFBZpW9OEAOqfIL8
// SIG // xYLS4iL08bosiCT+ANBM3/aJml3I+RD1x/yF64O8olCQ
// SIG // CVYWUofzzfYpIQxYi+fbNLxyalRnXie3prt75JJZgvat
// SIG // T8b4aMIJleTKc/chuI8eMXf6x+sGKYBx3D1j4pLfapvu
// SIG // J1GhghUvMIIVKwYKKwYBBAGCNwMDATGCFRswghUXBgkq
// SIG // hkiG9w0BBwKgghUIMIIVBAIBAzENMAsGCWCGSAFlAwQC
// SIG // ATCB8wYLKoZIhvcNAQkQAQSggeMEgeAwgd0CAQEGCmCG
// SIG // SAGG+mwKAwUwMTANBglghkgBZQMEAgEFAAQgMI5aoMXN
// SIG // GYtvdvYdDREq5jPO9qFvxZYLssSISzuxogwCCHjSa4jx
// SIG // +5cSGA8yMDI0MTEwODAwMjc0MFowAwIBAaB5pHcwdTEL
// SIG // MAkGA1UEBhMCQ0ExEDAOBgNVBAgTB09udGFyaW8xDzAN
// SIG // BgNVBAcTBk90dGF3YTEWMBQGA1UEChMNRW50cnVzdCwg
// SIG // SW5jLjErMCkGA1UEAxMiRW50cnVzdCBUaW1lc3RhbXAg
// SIG // QXV0aG9yaXR5IC0gVFNBMaCCD1gwggQqMIIDEqADAgEC
// SIG // AgQ4Y974MA0GCSqGSIb3DQEBBQUAMIG0MRQwEgYDVQQK
// SIG // EwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3LmVudHJ1
// SIG // c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAo
// SIG // bGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkg
// SIG // RW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50
// SIG // cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
// SIG // KDIwNDgpMB4XDTk5MTIyNDE3NTA1MVoXDTI5MDcyNDE0
// SIG // MTUxMlowgbQxFDASBgNVBAoTC0VudHJ1c3QubmV0MUAw
// SIG // PgYDVQQLFDd3d3cuZW50cnVzdC5uZXQvQ1BTXzIwNDgg
// SIG // aW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUw
// SIG // IwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
// SIG // dGVkMTMwMQYDVQQDEypFbnRydXN0Lm5ldCBDZXJ0aWZp
// SIG // Y2F0aW9uIEF1dGhvcml0eSAoMjA0OCkwggEiMA0GCSqG
// SIG // SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtTUupEoay6qMg
// SIG // BxUWZCorS9G/C0pNju2AdqVnt3hAwHNCyGjA21Mr3V64
// SIG // dpg1k4sanXwTOg4fW7cez+UkFB6xgamNfbjMa0sD8QIM
// SIG // 3KulQCQAf3SUoZ0IKbOIC/WHd51VzeTDftdqZKuFFIaV
// SIG // W5cyUG89yLpmDOP8vbhJwXaJSRn9wKi9iaNnL8afvHEZ
// SIG // YLgt6SzJkHZme5Tir3jWZVNdPNacss8pA/kvpFCy1EjO
// SIG // BTJViv2yZEwO5JgHddt/37kIVWCFMCn5e0ikaYbjNT8e
// SIG // hl16ehW97wCOFSJUFwCQJpO8Dklokb/4R9OdlULBDk3f
// SIG // bybPwxghYmZDcNbVwAfhAgMBAAGjQjBAMA4GA1UdDwEB
// SIG // /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
// SIG // BBRV5IHREYC+2Im5CKMx+aEkCRa5cDANBgkqhkiG9w0B
// SIG // AQUFAAOCAQEAO5uPVpsw51OZfHp5p02X1xmVkPsGH8oz
// SIG // fEZjj5ZmJPpAGyEnyuZyc/JP/jGZ/cgMTGhTxoCCE5j6
// SIG // tq3aXT3xzm72FRGUggzuP5WvEasP1y/eHwOPVyweybua
// SIG // GkSV6xhPph/NfVcQL5sECVqEtW7YHTrh1p7RbHleeRwU
// SIG // xePQTJM7ZTzt3z2+puWVGsO1GcO9Xlu7/yPvaBnLEpMn
// SIG // XAMtbzDQHrYarN5a99GqqCem/nmBxHmZM1e6ErCp4EJs
// SIG // k8pW3v5thAsIi36N6teYIcbz5zx5L16c0UwVjeHsIjfM
// SIG // mkMLl9yAkI2zZ5tvSAgVVs+/8St8Xpp26VmQxXyDNRFl
// SIG // UTCCBRMwggP7oAMCAQICDFjaE/8AAAAAUc4N9zANBgkq
// SIG // hkiG9w0BAQsFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
// SIG // ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNf
// SIG // MjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFi
// SIG // LikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0
// SIG // IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENl
// SIG // cnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw0x
// SIG // NTA3MjIxOTAyNTRaFw0yOTA2MjIxOTMyNTRaMIGyMQsw
// SIG // CQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5j
// SIG // LjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9s
// SIG // ZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTUgRW50
// SIG // cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBv
// SIG // bmx5MSYwJAYDVQQDEx1FbnRydXN0IFRpbWVzdGFtcGlu
// SIG // ZyBDQSAtIFRTMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
// SIG // ADCCAQoCggEBANkj5hSk6HxLhXFY+/iB5nKLXUbDiAAf
// SIG // ONCK4dZuVjDlr9pkUH3CEzn7vWa02oT7g9AoH8t26GBQ
// SIG // aZvzzk8T4sE+wd8SyzKj+F5EIg7MOumNSblgdMjeVD1B
// SIG // XkNfKEapprfKECsivFtNW4wXZRKG/Sx31cWgjMrCg+BH
// SIG // V3zncK5iRScxGArUwKQYVVL3YMYES7PdaDJuEB80EbgS
// SIG // eGTx7qng9+OxIo80WmXLivThRVB035OXpjTm0Ew7nzdJ
// SIG // UqdTTp8uZ1ztlvylv3RRiOOqjr3ZsS9fUDAW9FFgImuZ
// SIG // y//hVDu5+0Q4pQg5I5tpR/o8xNDnqt9GsuzyihmsKbI4
// SIG // lXUCAwEAAaOCASMwggEfMBIGA1UdEwEB/wQIMAYBAf8C
// SIG // AQAwDgYDVR0PAQH/BAQDAgEGMDsGA1UdIAQ0MDIwMAYE
// SIG // VR0gADAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LmVu
// SIG // dHJ1c3QubmV0L3JwYTAzBggrBgEFBQcBAQQnMCUwIwYI
// SIG // KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmVudHJ1c3QubmV0
// SIG // MDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwuZW50
// SIG // cnVzdC5uZXQvMjA0OGNhLmNybDATBgNVHSUEDDAKBggr
// SIG // BgEFBQcDCDAdBgNVHQ4EFgQUw8Jx0nvXaAWuOzmbNCUM
// SIG // YgPHV2gwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmh
// SIG // JAkWuXAwDQYJKoZIhvcNAQELBQADggEBAB0k55p0W6pw
// SIG // /LEOMUXXLAB/ZjoroJo0qqxjbYn5n98Nd/0kI/xPnLdv
// SIG // j/P0H7bB/dYcxIyIZsFjjbpXd9O4Gh7IUa3MYDYah2oo
// SIG // 6hFl3sw8LIx0t+hQQ9PMKOgVbBEqnxSVKckFV7VnNug8
// SIG // qYPvQcEhFtN+9y0RR2Z2YIISaYx2VXMP3y9LXelsI/gH
// SIG // 9rV91mlFnFh9YS78eEtDTomRRkQsoFOoRaH2Fli7kRPy
// SIG // S8XfC8Dnril6vUWz53Aw5zSO63r207XR3msTmUazi9JN
// SIG // k3W18W+/3AAowiW/vOejZTTsPw0dl4z6qogipBg12wWO
// SIG // duMQyCmPY9CurBjZ2sSfURIwggYPMIIE96ADAgECAhAH
// SIG // 1xNT2iVhtGHpkEeKTM4EMA0GCSqGSIb3DQEBCwUAMIGy
// SIG // MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwg
// SIG // SW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5l
// SIG // dC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTUg
// SIG // RW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVz
// SIG // ZSBvbmx5MSYwJAYDVQQDEx1FbnRydXN0IFRpbWVzdGFt
// SIG // cGluZyBDQSAtIFRTMTAeFw0yNDAxMTkxNjQ2MjhaFw0y
// SIG // OTA2MDEwMDAwMDBaMHUxCzAJBgNVBAYTAkNBMRAwDgYD
// SIG // VQQIEwdPbnRhcmlvMQ8wDQYDVQQHEwZPdHRhd2ExFjAU
// SIG // BgNVBAoTDUVudHJ1c3QsIEluYy4xKzApBgNVBAMTIkVu
// SIG // dHJ1c3QgVGltZXN0YW1wIEF1dGhvcml0eSAtIFRTQTEw
// SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDH
// SIG // kjhBOf+gP19NTYqXMeObh8N4BWk2C1KzqoNdsNK9fr6D
// SIG // oF9enpfz2zUXqfnbFWJ8yvbFyTQV4hGlkrEu4GlUXQ4r
// SIG // vlXGAYyFY7JJLTVf5U5DxHELpLQeNE3/Rcj+T+Ew6Oll
// SIG // bGtl077ULGjQrQSbarnQVPs1AJAxxthoal2v6n7Q+Z0T
// SIG // 786dY2RCcgeF+wYxi+OdC6bVMttSpU4MPMHAmtF/Andj
// SIG // E83zPTweAks2huAEtHh35Jsv4Ykq3oJd6+Qa3I26e6Sf
// SIG // j45sdesD4IAEv7EJHPpherObgbcLyRMKeO0I9symX0JH
// SIG // EjpHeHb+vNqZP2TrN14q31LimbD974TKkTqisKextlYc
// SIG // P0T4fpHveKYk/t4pHvj191F/tngth7S9ALnGHuDo4RPu
// SIG // 7l/XXu6kfHVgzqE1kFjCq7VIQ3vpx3eJiYvGoYxpl89u
// SIG // ekP+9F/7Y+Uk6t/gEJCnEpDMG60IitGNhSCibqGLFieV
// SIG // MdPPbgMpn0TCJwist/SJTTfkJYlaUyxTDYIUc8bsxbDZ
// SIG // h9ibEu4mOl+XL3DJMHihWkpt0khKD1VqfvZb4odf2hEb
// SIG // d74aXvdICphxDH2uKoF9sp6RYA7R2WowEorkmuymS2+F
// SIG // BkkQDoVIPy7mFM9a4084Kq/XMQC8LJaVkq1zz3ocUcv+
// SIG // LenALlgOChVly4h7MhtgDQIDAQABo4IBWzCCAVcwDAYD
// SIG // VR0TAQH/BAIwADAdBgNVHQ4EFgQUQ2gfb58i0PhfCff8
// SIG // uOUjxo4HQpIwHwYDVR0jBBgwFoAUw8Jx0nvXaAWuOzmb
// SIG // NCUMYgPHV2gwaAYIKwYBBQUHAQEEXDBaMCMGCCsGAQUF
// SIG // BzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBggr
// SIG // BgEFBQcwAoYnaHR0cDovL2FpYS5lbnRydXN0Lm5ldC90
// SIG // czEtY2hhaW4yNTYuY2VyMDEGA1UdHwQqMCgwJqAkoCKG
// SIG // IGh0dHA6Ly9jcmwuZW50cnVzdC5uZXQvdHMxY2EuY3Js
// SIG // MA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggr
// SIG // BgEFBQcDCDBCBgNVHSAEOzA5MDcGCmCGSAGG+mwKAQcw
// SIG // KTAnBggrBgEFBQcCARYbaHR0cHM6Ly93d3cuZW50cnVz
// SIG // dC5uZXQvcnBhMA0GCSqGSIb3DQEBCwUAA4IBAQC+sNz9
// SIG // vPpmp/wjHfPZV2L0JN8dL/lYy8rMDH3Pbof1boJaK97j
// SIG // X8bOGuQIr44EAR7/AvgFU7ioYoV7matFe9mqsReD0Sl+
// SIG // kyHoNohCITj7+w2BycOKjMoqXmav+Zz0jXwS+3ptOoqw
// SIG // APc7cKUPu7VTqeHGKSbq3BJKL11aBLiq44cLfcieBv5p
// SIG // ZkuOp/S+MMml4pChqIENPkchklBdMuTyVs+plCG7MMJ3
// SIG // GBGaJq7x4j4v/D+JMzddlOfdGsXlzGZs+gDOluKA7fgs
// SIG // p8VoE2l8BEStCNX5q8mtF2bVLwtX8JvPXB6rDSdGaf6o
// SIG // twUljuCyFTNKX7qci9AoCTy1hbLhMYIEnDCCBJgCAQEw
// SIG // gccwgbIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRy
// SIG // dXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1
// SIG // c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
// SIG // MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6
// SIG // ZWQgdXNlIG9ubHkxJjAkBgNVBAMTHUVudHJ1c3QgVGlt
// SIG // ZXN0YW1waW5nIENBIC0gVFMxAhAH1xNT2iVhtGHpkEeK
// SIG // TM4EMAsGCWCGSAFlAwQCAaCCAacwGgYJKoZIhvcNAQkD
// SIG // MQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0y
// SIG // NDExMDgwMDI3NDBaMCsGCSqGSIb3DQEJNDEeMBwwCwYJ
// SIG // YIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3
// SIG // DQEJBDEiBCBJDxD/dh9QLho+cLzfyCkMJrJ6SoduK3Zp
// SIG // gSdMLN1MbDCCAQsGCyqGSIb3DQEJEAIvMYH7MIH4MIH1
// SIG // MIHyBCAoSfcxGNdBRQVhc80+7Mu9U0teDvD6BhaNsOJz
// SIG // SQPujzCBzTCBuKSBtTCBsjELMAkGA1UEBhMCVVMxFjAU
// SIG // BgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1Nl
// SIG // ZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3
// SIG // BgNVBAsTMChjKSAyMDE1IEVudHJ1c3QsIEluYy4gLSBm
// SIG // b3IgYXV0aG9yaXplZCB1c2Ugb25seTEmMCQGA1UEAxMd
// SIG // RW50cnVzdCBUaW1lc3RhbXBpbmcgQ0EgLSBUUzECEAfX
// SIG // E1PaJWG0YemQR4pMzgQwDQYJKoZIhvcNAQELBQAEggIA
// SIG // LmfaZ8Pv4S0i9ShyxNBkWj+GBmlMIFhQO+pJRlRfaY9h
// SIG // jzavflMBh4S3cLcjDBK0hju0Fz2KYNpGw2rfRiZGp0ek
// SIG // 848S00LdyK79LvDzZqkpfOiUUNFtX+9qJGZ/jWl8vhrS
// SIG // 7d0l6MMPOjrq1KeNnN7jpe5/FvG/1N7AHNBD0d21NvLD
// SIG // xakOVBA+fg73cTmgbmLtzphunhntEa6m0QvV/Sz4mXQg
// SIG // VMeY6zlCtunnL0hERGMGJNKfYix6BfoSYL2UgN7IYqNA
// SIG // ehpFV+qMFw4jIi/TLaZifslJf1BTGIuuSx9fTqkPK3pr
// SIG // +is1BwVWtJ3OHIXzTVaGKJ2xfXlSDgXlTKKpzR/TV0CV
// SIG // EQUoYWd3E2vmsBpOVo9SsSEiDvMsxiOdaHiHZzW83Gmb
// SIG // Q63SHwXyuPXwOLxp9sI0dXO08FnvbUpghM1MS3OC85BF
// SIG // zkfGWayJeXbOSEybbv3H9x3LZCjVJGL47/CXEJSJ0dBk
// SIG // Hh2cVZixKpzv2nqesDy8xjkp84U9WJpWJVT5UwO9dak5
// SIG // vZs+EWoR655JEmkeiHUQlreDrA+/P5cN5g76JEwA1M0G
// SIG // EGeaP2+ddBfal8SOjdrhceua361Tdlrc8G6z3+Liery4
// SIG // 7QoMOOKaVqojIVDNUod6Bk3EggODGkLYszrYOLK3l3ru
// SIG // p8nhoDvw6O6kpej6Qt4uMjI=
// SIG // End signature block