Se ha producido un error al procesar la plantilla.	
	
		
				
	
		The following has evaluated to null or missing:
==> bankercode  [in template "10154#10192#18372605" at line 105, column 6]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if bankercode?starts_with("amp") && ...  [in template "10154#10192#18372605" at line 105, column 1]
----
	1<#assign uniqueID = randomNamespace /> 
				2<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! /> 
				3<#assign url404 = '/error/404.html' > 
				4<#assign oadURL = propsUtil.get('elan.oad.url') > 
				5<#assign url = themeDisplay.getURLCurrent() > 
				6<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
				7<#assign projectIds = ["12", "13", "14", "15", "16"]> 
				8<#if qstringmap["ecid"]?has_content> 
				9    <#assign ecidExt = qstringmap["ecid"]?first> 
				10    <#assign ecidExt = htmlUtil.escape(ecidExt)> 
				11    <#assign ecidExt = htmlUtil.escapeJS(ecidExt)> 
				12    <#assign ecidExt = "&ecid=" + ecidExt> 
				13<#else> 
				14    <#assign ecidExt=""> 
				15</#if> 
				16 
				17<#if qstringmap["bankercode"]?has_content> 
				18    <#assign bankercode = qstringmap["bankercode"]?first> 
				19    <#assign bankercode = htmlUtil.escape(bankercode)> 
				20    <#assign bankercode = htmlUtil.escapeJS(bankercode)> 
				21    <#assign isEmployee = false> 
				22	 
				23 
				24 
				25    <#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bankercode)> 
				26    <#if fiData?first?has_content> 
				27        <#assign fi = fiData?first> 
				28        <#if projectIds?seq_index_of(fi.projectId) != -1> 
				29            <#assign subbu_special = fi.offerId> 
				30        </#if> 
				31        <#if fi.projectType == "emp"> 
				32            <#assign isEmployee = true> 
				33        </#if> 
				34    </#if>  
				35 
				36<!-- redirect to PANO start -->  
				37<!-- parse URL for page to determine product -->  
				38 
				39	<#assign pageend = url?index_of("?") - 1 > 
				40	<#assign urlwoquery = url[0..pageend] > 
				41	<#assign pagestart = urlwoquery?last_index_of("/") + 1 > 
				42	<#assign productURL = urlwoquery[pagestart..] > 
				43	<#assign qstringonly = httpUtil.getQueryString(url) > 
				44 
				45	<#if (productURL == "consumer-platinum2103")> 
				46		<#assign PANOofferType = "108">  
				47	<#elseif (productURL == "zero-plus")> 
				48		<#assign PANOofferType = "109">  
				49	<#elseif (productURL == "zero-plus-business")> 
				50		<#assign PANOofferType = "132">  
				51	<#elseif (productURL == "max-cash")> 
				52		<#assign PANOofferType = "104">    
				53	<#elseif (productURL == "consumer-edr2112")> 
				54		<#assign PANOofferType = "101"> 
				55		<!-- PANOofferType = "103" --> 
				56	<#elseif (productURL == "secured")> 
				57		<#assign PANOofferType = "115"> 
				58	<#elseif (productURL == "smart-business-rewards")> 
				59		<#assign PANOofferType = "144"> 
				60	<#elseif (productURL == "business-cash-preferred")> 
				61		<#assign PANOofferType = "128"> 
				62	<#elseif (productURL == "business-real-rewards")> 
				63		<#assign PANOofferType = "143"> 
				64	<#elseif (productURL == "business-platinum2103")> 
				65		<#assign PANOofferType = "121"> 
				66	<#elseif (productURL == "max-cash-secured")> 
				67		<#assign PANOofferType = "147"> 
				68	<#elseif (productURL == "college-real-rewards")> 
				69		<#assign PANOofferType = "141"> 
				70	<#elseif (productURL == "travel-rewards-plus")> 
				71		<#assign PANOofferType = "138"> 
				72	<#elseif (productURL == "reserve-rewards-plus")> 
				73		<#assign PANOofferType = "154"> 
				74	<#else> 
				75		<#assign PANOofferType = "0"> 
				76	</#if>  
				77	<#assign redirectToPANO = 'https://www.mycardapply.com/?' + qstringonly + "&offertype=" + PANOofferType > 
				78	<script> 
				79		console.log('${productURL}'); 
				80		console.log('${PANOofferType}'); 
				81		console.log('${redirectToPANO}'); 
				82		location.href = '${redirectToPANO}'; 
				83	</script> 
				84 
				85<!-- redirect to PANO end --> 	 
				86 
				87    <#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bankercode)> 
				88    <#list bData as b>         
				89      <#assign rLC = b.reallocationcode > 
				90      <#assign lc = b.locationcode > 
				91      <#assign mappedLC = b.mappedLocationCode > 
				92    </#list>     
				93<#else> 
				94    <script> 
				95        console.log("MainProductBcode missing"); 
				96        location.href = '${url404}'; 
				97    </script> 
				98</#if> 
				99 
				100<#if url?contains('11t1')> 
				101    <#assign tier = '11t1'> 
				102<#elseif url?contains('11t2')> 
				103    <#assign tier = '11t2'> 
				104</#if> 
				105<#if bankercode?starts_with("amp") && (url?contains("11t1m"))> 
				106    <#assign ameriprise = true> 
				107<#else> 
				108    <#assign ameriprise = false> 
				109</#if> 
				110<#if ameriprise> 
				111    <#assign tier = '11t1m'> 
				112</#if> 
				113<#assign environment = url?replace('/${tier}.*','','r')> 
				114 
				115 
				116<#if mappedLC?has_content && !ameriprise> 
				117    <#assign lc = mappedLC > 
				118</#if> 
				119 
				120<#if lc?has_content> 
				121    <#assign prefix = "00000" > 
				122    <#assign lcWithPrefix = prefix + lc > 
				123    <#assign withPrefixLength = lcWithPrefix?length > 
				124    <#assign startHere = withPrefixLength - 5> 
				125    <#assign lc = lcWithPrefix?substring(startHere)> 
				126    <#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! /> 
				127    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
				128 
				129    <#assign clientProfile = clientProfileList?first> 
				130    <#assign partnerName = clientProfile.getMarketingNameLong()> 
				131    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
				132    <#assign cdnLogoUrl = (propsUtil.get('rackspace.cdn.web.url'))!> 
				133    <#-- <#assign cdnLogoUrl = "https://828cf7dcac86961192f7-10b53e8cad49907c7863edad15b39700.ssl.cf2.rackcdn.com"> --> 
				134    <#assign pbu = clientProfile.getPbu()> 
				135    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
				136     
				137    <#assign optoutData = utilServ.makeCall('crc_DDCSAAOptOut',pbu+'&'+subbu)> 
				138    <#if (optoutData?size == 0)> 
				139        <#if (subbu_special?has_content)> 
				140            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
				141        <#else> 
				142            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
				143        </#if> 
				144        <#assign clientDataService = (serviceLocator.findService("com.elan.crc.user.service.CrcPbuLocalService"))! /> 
				145        <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
				146        <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
				147        <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*")>             
				148            <#assign partnerUrl = 'https://' + partnerUrl> 
				149        </#if> 
				150        <#if (fiCardsData?size > 0)> 
				151            <#assign temp = []> 
				152            <#assign offerTypeList = []>        
				153            <#assign index = 0> 
				154            <#list fiCardsData as fib> 
				155                <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>  
				156                    <#assign offerTypeList = offerTypeList + [fib.offerType]>                   
				157                    <#assign temp = temp + fiCardsData[index..index]>  
				158                </#if>  
				159                <#assign index = index + 1> 
				160            </#list>  
				161            <#assign fiCardsData = temp> 
				162            <#if !(fiCardsData?size > 0)>  
				163                <script> 
				164                    console.log("empty card/offerType List"); 
				165                    location.href = '${url404}'; 
				166                </script> 
				167            </#if> 
				168            <#if ameriprise> 
				169                <#assign lc_used = mappedLC>  
				170            <#else> 
				171                <#assign lc_used = lc>  
				172            </#if>             
				173            <div class="content-container content-container-main"> 
				174                <#if url?contains("index")> 
				175					<#assign product="All Cards"> 
				176                    <h1 class="sr-only">${partnerName!'Elan'} Credit Cards</h1> 
				177					<header class="page-header"> 
				178						<div class="header-main-logo"> 
				179							<#if partnerUrl?has_content> 
				180								<a href="${partnerUrl!''}"> 
				181								<img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo">  
				182								</a> 
				183							<#else> 
				184								<a > 
				185								<img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo"> 
				186								</a> 
				187							</#if> 
				188						</div>  
				189					</header>         
				190				<#else> 
				191				 
				192					<header class="page-header"> 
				193						<div class="back-overview hide-desktop">  
				194							<a  href="${environment}/${tier}/index?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}">Home</a> 
				195						</div>   
				196						<div class="header-main-logo"> 
				197							<#if partnerUrl?has_content> 
				198								<a href="${partnerUrl!''}"> 
				199								<img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo">  
				200								</a> 
				201							<#else> 
				202								<a > 
				203								<img src="${cdnLogoUrl!''}/${logoFileName!''}" alt="${partnerName!''} Logo" > 
				204								</a> 
				205							</#if> 
				206						</div> 
				207						 
				208						<div class="styled-select slate"> 
				209                            <label for="${uniqueID}-select" class="sr-only">Select a card to navigate to its details page</label> 
				210							<select id="${uniqueID}-select"> 
				211								<#assign consumerOfferTypes =['101', '108', '109', '104', '138', '154', '141', '147', '115']> 
				212 
				213								<#list fiCardsData as fib> 
				214									<#if ameriprise> 
				215										<#if (fib.offerType=="101")> 
				216											<#assign productURL="premier-visa-signature"> 
				217											<#assign productName="Ameriprise Premier Visa Signature"> 
				218										<#elseif (fib.offerType=="103")>      
				219											<#assign productURL = "visa-signature"> 
				220											<#assign productName = "Ameriprise Visa Signature">                              
				221										</#if> 
				222									<#else> 
				223										<#if (fib.offerType=="108" || fib.offerType=="109")> 
				224											<#assign productURL="consumer-platinum2103"> 
				225											<#assign productName="Platinum Card"> 
				226										<#elseif fib.offerType=="147"> 
				227											<#assign productURL = "max-cash-secured"> 
				228											<#assign productName = "Max Cash Secured Card" > 
				229										<#elseif (fib.offerType=="104")> 
				230											<#assign productURL = "max-cash"> 
				231											<#assign productName = "Max Cash Preferred Card">                                    
				232										<#elseif (fib.offerType=="101" || fib.offerType=="103")> 
				233											<#assign productURL = "consumer-edr2112"> 
				234											<#assign productName = "Everyday Rewards+"> 
				235										<#elseif fib.offerType == "115"> 
				236											<#assign productURL = "secured"> 
				237											<#assign productName = "Secured Card" > 
				238										<#elseif fib.offerType == "141"> 
				239											<#assign productURL = "college-real-rewards"> 
				240											<#assign productName = "College Real Rewards" >        
				241										<#elseif fib.offerType == "144"> 
				242											<#assign productURL = "smart-business-rewards"> 
				243											<#assign productName = "Smart Business Rewards Card" >                                             
				244										<#elseif fib.offerType == "128"> 
				245											<#assign productURL = "business-cash-preferred"> 
				246											<#assign productName = "Business Cash Preferred" > 
				247										<#elseif fib.offerType == "143"> 
				248											<#assign productURL = "business-real-rewards"> 
				249											<#assign productName = "Business Real Rewards Card" > 
				250										<#elseif fib.offerType == "121"> 
				251											<#assign productURL = "business-platinum2103"> 
				252											<#assign productName = "Business Card" > 
				253										<#elseif fib.offerType == "138"> 
				254											<#assign productURL = "travel-rewards-plus"> 
				255											<#assign productName = "Travel Rewards+" > 
				256										<#elseif fib.offerType == "154"> 
				257											<#assign productURL = "reserve-rewards-plus"> 
				258											<#assign productName = "Reserve Rewards+" > 
				259										</#if> 
				260									</#if> 
				261									<#assign fibEmpOfferId = "">  
				262									<#if fib?has_content> 
				263										<#assign fibEmpOfferId = fib.empofferId!""> 
				264									</#if> 
				265									<!-- if an employee don't show business cards --> 
				266									<#if ((isEmployee == true && ( consumerOfferTypes?seq_contains(fib.offerType) == true)) || isEmployee == false) > 
				267										<#if url?matches(".*/${productURL}.*")> 
				268											<option value="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}" selected="selected">${productName}</option>                                             
				269										<#else> 
				270											<option value="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}">${productName}</option> 
				271										</#if> 
				272									</#if> 
				273								</#list> 
				274							</select> 
				275							<nav class="styled-select__dropdown"> 
				276								<div class="back-overview hide-mobile-flex">  
				277									<a  href="${environment}/${tier}/index?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}">Home</a> 
				278								</div>   
				279								<a href="javascript:void(0)" class="dropdown-select" aria-expanded="false" > 
				280									<span class="selected-option"></span>  
				281									<div class="jn-arrow arrow arrow-right"></div> 
				282								</a> 
				283								<a href="javascript:void(0)" class="jn-hamburger hamburger" aria-expanded="false" aria-label="open navigation menu"> 
				284									<div class="first-line transform transformed1"></div> 
				285									<div></div> 
				286									<div class="transform transformed2"></div> 
				287									<div></div> 
				288								</a> 
				289								<ul> 
				290									<#list fiCardsData as fib> 
				291										<#if ameriprise> 
				292											<#if (fib.offerType=="101")> 
				293												<#assign productURL="premier-visa-signature"> 
				294												<#assign productName="Ameriprise Premier Visa Signature"> 
				295											<#elseif (fib.offerType=="103")>      
				296												<#assign productURL = "visa-signature"> 
				297												<#assign productName = "Ameriprise Visa Signature">                              
				298											</#if> 
				299										<#else> 
				300											<#if (fib.offerType=="108" || fib.offerType=="109")> 
				301												<#assign productURL="consumer-platinum2103"> 
				302												<#assign productName="Platinum Card"> 
				303											<#elseif fib.offerType=="147"> 
				304												<#assign productURL = "max-cash-secured"> 
				305												<#assign productName = "Max Cash Secured Card" > 
				306											<#elseif (fib.offerType=="104")> 
				307												<#assign productURL = "max-cash"> 
				308												<#assign productName = "Max Cash Preferred Card"> 
				309											<#elseif (fib.offerType=="101" || fib.offerType=="103")> 
				310												<#assign productURL = "consumer-edr2112"> 
				311												<#assign productName = "Everyday Rewards+"> 
				312											<#elseif fib.offerType == "115"> 
				313												<#assign productURL = "secured"> 
				314												<#assign productName = "Secured Card" > 
				315											<#elseif fib.offerType == "141"> 
				316												<#assign productURL = "college-real-rewards"> 
				317												<#assign productName = "College Real Rewards" >  
				318											<#elseif fib.offerType == "144"> 
				319												<#assign productURL = "smart-business-rewards"> 
				320												<#assign productName = "Smart Business Rewards Card" >                                             
				321											<#elseif fib.offerType == "128"> 
				322												<#assign productURL = "business-cash-preferred"> 
				323												<#assign productName = "Business Cash Preferred" > 
				324											<#elseif fib.offerType == "143"> 
				325												<#assign productURL = "business-real-rewards"> 
				326												<#assign productName = "Business Real Rewards Card" > 
				327											<#elseif fib.offerType == "121"> 
				328												<#assign productURL = "business-platinum2103"> 
				329												<#assign productName = "Business Card" > 
				330											<#elseif fib.offerType == "138"> 
				331												<#assign productURL = "travel-rewards-plus"> 
				332												<#assign productName = "Travel Rewards+" > 
				333											<#elseif fib.offerType == "154"> 
				334												<#assign productURL = "reserve-rewards-plus"> 
				335												<#assign productName = "Reserve Rewards+" > 
				336												</#if> 
				337										</#if> 
				338										<!-- if an employee don't show business cards --> 
				339										<#if ((isEmployee == true && ( consumerOfferTypes?seq_contains(fib.offerType) == true)) || isEmployee == false) > 
				340											<#if url?matches(".*/${productURL}.*")> 
				341												<#if (fib.offerType=="104" && url?contains("max-cash-secured"))>  
				342													<#-- prevent from max cash overiding max cash secured. --> 
				343													<li class="dropdown-item" data-value="${productName}"><a href="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}">${productName}</a></li> 
				344												<#else> 
				345													<li class="selected" data-value="${productName}"><a href="javascript:void(0)">${productName}</a></li>  
				346												</#if> 
				347											<#else> 
				348												<li class="dropdown-item" data-value="${productName}"><a href="${environment}/${tier}/${productURL}?bankercode=${bankercode}&ecdma-lc=${lc_used}${ecidExt}" >${productName}</a></li> 
				349											</#if> 
				350										</#if> 
				351									</#list> 
				352								</ul> 
				353							</nav> 
				354												  
				355						</div> 
				356					</header> 
				357				</#if> 
				358            </div>  
				359            <script> 
				360                var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
				361                var partnerName = "${partnerName!0}"; 
				362                var metaDesc = ""; 
				363                switch (page) { 
				364                    case "consumer-platinum2103": 
				365                        document.title = "ZERO is the BEST rate | "+partnerName+" Platinum Card"; 
				366                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Limited Time Offer. 0% Intro APR on Purchases and Balance Transfers for 18 Billing Cycles Consolidate your Balances with the "+partnerName+" Intro APR Card."; 
				367                        break; 
				368                    case "max-cash-secured": 
				369                        document.title = "Earn more on the categories you pick | "+partnerName+" Max Cash Secured Card"; 
				370                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
				371                        break; 
				372                    case "max-cash": 
				373                        document.title = "Earn a $150 Bonus and 5% cash back | "+partnerName+" Max Cash Preferred Card"; 
				374                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus and 5% cash back on the two categories you select."; 
				375                        break; 
				376                    case "consumer-edr2112": 
				377                        document.title = "Sign up and earn bonus points | "+partnerName+" Everyday Rewards+"; 
				378                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn 15,000 when you spend $500 within the first 90 days."; 
				379                        break; 
				380                    case "secured": 
				381                        document.title = "Strengthen your finances | "+partnerName+" Secured Card"; 
				382                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
				383                        break; 
				384                    case "college-real-rewards": 
				385                        document.title = "Sign up and earn bonus points. | "+partnerName+" College Real Rewards"; 
				386                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
				387                        break; 
				388                    case "smart-business-rewards": 
				389                        document.title = "2X rewards in your top 2 spend categories | "+partnerName+" Business Smart Business Rewards Card"; 
				390                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. More choices. More value for your business. Earn a $200 Bonus and 2x Rewards on your top 2 spend categories each month with the "+partnerName+" Credit Card."; 
				391                        break; 
				392                    case "business-cash-preferred": 
				393                        document.title = "Flexible rewards for your business | "+partnerName+" Business Cash Preferred"; 
				394                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
				395                        break; 
				396                    case "business-real-rewards": 
				397                        document.title = "Earn up to 1.5X points with no caps | "+partnerName+" Business Real Rewards Card"; 
				398                        metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on." ; 
				399                        break; 
				400                    case "business-platinum2103": 
				401                        document.title = "Pay down your other credit card balances faster | "+partnerName+" Business Card"; 
				402                        metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 18 Billing Cycles."; 
				403                        break; 
				404                    case "premier-visa-signature": 
				405                        document.title = "Exclusively for Ameriprise clients | Ameriprise® Premier Visa Signature® Card"; 
				406                        metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $375 cash value when deposited into an eligible account after spending $3,000 in eligible net purchases within the first 90 days of account opening."; 
				407                        break; 
				408                    case "visa-signature": 
				409                        document.title = "Exclusively for Ameriprise clients | Ameriprise® Visa Signature® Card"; 
				410                        metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $250 cash value when deposited into an eligible Ameriprise account after spending $2,000 in eligible net purchases within the first 90 days of account opening."; 
				411                        break;     
				412                    case "travel-rewards-plus": 
				413                        document.title = partnerName + " | Travel Rewards+ Card"; 
				414                        metaDesc = "Make travel more rewarding with unlimited 4x points on travel and frequent popular categories."; 
				415                        break;     
				416                    case "reserve-rewards-plus": 
				417                        document.title = partnerName + " | Reserve Rewards+ Card"; 
				418                        metaDesc = "Get exceptional rewards on travel and frequent purchases with this exclusive metal card."; 
				419                        break;   
				420                    default:   
				421                        product = "All Cards";    
				422                        document.title = partnerName + " Credit Card Index Page";   
				423                        metaDesc = "Apply Today for a "+partnerName+" Credit Card.";                                                                                                 
				424                } 
				425                if('${isEmployee?string("yes", "no")}' == "yes") { 
				426                    switch (page) { 
				427                        case "max-cash": 
				428                            document.title = "Earn a $200 Bonus and 5% cash back | "+partnerName+" Max Cash Preferred Card"; 
				429                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $200 Bonus and 5% cash back on the two categories you select."; 
				430                            break; 
				431                    } 
				432                } 
				433 
				434                if (metaDesc.length > 0) { 
				435                    var m = document.createElement('meta');  
				436                    m.name = 'description';  
				437                    m.content = metaDesc;  
				438                    document.head.appendChild(m); 
				439                } 
				440                function toggleFlyOutMenu() { 
				441                    $('.styled-select').toggleClass('show-select'); 
				442                    var ariaExpanded = $('.styled-select__dropdown .dropdown-select').attr('aria-expanded'); 
				443                    if(ariaExpanded !== null) { 
				444                        var isAriaExpanded; 
				445                        if(ariaExpanded === "true") { 
				446                            isAriaExpanded = true; 
				447                            $('.styled-select__dropdown .jn-hamburger').attr('aria-label', 'open navigation menu'); 
				448                        } else {  
				449                            isAriaExpanded = false  
				450                            $('.styled-select__dropdown .jn-hamburger').attr('aria-label', 'close navigation menu'); 
				451 
				452                        } 
				453                        $('.styled-select__dropdown .dropdown-select').attr('aria-expanded', !isAriaExpanded); 
				454                        $('.styled-select__dropdown .jn-hamburger').attr('aria-expanded', !isAriaExpanded); 
				455                         
				456                    } 
				457                } 
				458                AUI().ready(function () { 
				459                    var pageSelected = $('.selected').attr('data-value'); 
				460                    $('.jn-hamburger, .dropdown-select').click(function () { 
				461                        toggleFlyOutMenu(); 
				462                    }); 
				463                    $('.styled-select__dropdown').keydown(function(event) { 
				464                        var firstNavigationLink = $('.styled-select__dropdown ul li:visible a').first(); 
				465                        var lastNavigationLink = $('.styled-select__dropdown ul li:visible a').last(); 
				466 
				467                        if(event.keyCode === 9 ) { 
				468                            // if they tab outside of the nav close the navigation 
				469                            //shift + tab pressed 
				470                            if(event.shiftKey && firstNavigationLink.is(document.activeElement)) { 
				471                                toggleFlyOutMenu(); 
				472                            } else if(!event.shiftKey && lastNavigationLink.is(document.activeElement)) { 
				473                                toggleFlyOutMenu(); 
				474                            }                             
				475                        } 
				476                    }); 
				477                    $('.selected-option').text(pageSelected); 
				478                }); 
				479            </script> 
				480         
				481        <#else> 
				482            <script> 
				483                console.log("FI Cards Data empty"); 
				484                location.href = '${url404}'; 
				485            </script> 
				486        </#if>   
				487    <#else> 
				488        <script> 
				489            console.log("FI opt out"); 
				490            location.href = '${url404}'; 
				491        </script> 
				492    </#if>  
				493<#else> 
				494    <script> 
				495        console.log("location code empty"); 
				496        location.href = '${url404}'; 
				497    </script> 
				498</#if> 
		
	
		Se ha producido un error al procesar la plantilla.	
	
		
				
	
		The following has evaluated to null or missing:
==> url404  [in template "10154#10192#18372600" at line 82, column 28]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${url404}  [in template "10154#10192#18372600" at line 82, column 26]
----
	1<#assign uniqueID = randomNamespace /> 
				2<#assign url = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()> 
				3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
				4<#assign basePath = "/web/branchoffer"> 
				5<#assign environment = url?substring(0, url?index_of(basePath) + basePath?length)> 
				6<#assign oadURL = propsUtil.get('elan.oad.url')> 
				7<#assign oadURL_TC = propsUtil.get('elan.oad.tac.url') > 
				8<#assign prcaURL = propsUtil.get('elan.prca.url') > 
				9<#assign rewardsCalculatorURL = propsUtil.get('cclm.rewards.calculator.url') > 
				10<#assign applyNowText = "Apply Now" > 
				11<#assign learnMoreText = "Learn More" > 
				12<#assign applicationType = "saa" > 
				13<#assign projectIds = ["12", "13", "14", "15", "16"]> 
				14<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! > 
				15 
				16<#assign text_to_apply_source = "vanity url" > 
				17<#if qstringmap["sms"]?has_content> 
				18    <#assign sms = 1 > 
				19    <#assign text_to_apply_source = "sms" > 
				20</#if> 
				21<#if qstringmap["qrCode"]?has_content> 
				22    <#assign text_to_apply_source = "qr code" > 
				23</#if> 
				24 
				25<#if qstringmap["ecid"]?has_content> 
				26    <#assign ecidExt = qstringmap["ecid"]?first> 
				27    <#assign ecidExt = htmlUtil.escape(ecidExt)> 
				28    <#assign ecidExt = htmlUtil.escapeJS(ecidExt)> 
				29    <#assign ecidExt = "&ecid=" + ecidExt> 
				30    
				31    <#assign campaignId = qstringmap["ecid"]?first > 
				32    <#assign campaignId  = htmlUtil.escape(campaignId)> 
				33    <#assign campaignId  = htmlUtil.escapeJS(campaignId)> 
				34<#else> 
				35    <#assign ecidExt=""> 
				36    <#assign campaignId = "" > 
				37</#if> 
				38 
				39<#if qstringmap["bankercode"]?has_content> 
				40    <#assign bCode= qstringmap["bankercode"]?first> 
				41    <#assign bCode= htmlUtil.escapeJS(bCode)> 
				42    <#assign bCode= htmlUtil.escape(bCode)> 
				43    <#assign isEmployee = false> 
				44 
				45 
				46    <#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bCode)> 
				47    <#if fiData?first?has_content> 
				48        <#assign fi = fiData?first> 
				49        <#if projectIds?seq_index_of(fi.projectId) != -1> 
				50            <#assign subbu_special = fi.offerId> 
				51        </#if> 
				52        <#if fi.projectType == "emp"> 
				53            <#assign isEmployee = true> 
				54        </#if> 
				55    <#else> 
				56        <script> 
				57            console.log("fiData missing"); 
				58            location.href = '${url404}'; 
				59        </script> 
				60    </#if> 
				61 
				62    <#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
				63    <#if !bData?first?has_content> 
				64        <script> 
				65            console.log("bData missing"); 
				66            location.href = '${url404}'; 
				67        </script> 
				68    </#if> 
				69    <#list bData as b>      
				70        <#assign lc = b.locationcode > 
				71        <#assign bName = b.branch > 
				72        <#assign bPhone = b.businessphone > 
				73        <#assign boeid = b.oeid?trim> 
				74        <#assign fName = b.firstname?trim> 
				75        <#assign lName = b.lastname?trim> 
				76        <#assign rLC = b.reallocationcode > 
				77        <#assign mappedLC = b.mappedLocationCode > 
				78    </#list>  
				79<#else> 
				80    <script> 
				81        console.log("MainProductBcode missing"); 
				82        location.href = '${url404}'; 
				83    </script> 
				84</#if> 
				85 
				86 
				87<#if mappedLC?has_content> 
				88    <#assign lc = mappedLC > 
				89</#if> 
				90 
				91<#if lc?has_content> 
				92	<#assign firstNameLength = fName?length > 
				93		<#assign lastNameLength = lName?length > 
				94		<#if firstNameLength + lastNameLength > 19 > 
				95			<#if lastNameLength > 18 > 
				96				<#assign bLName = lName?substring(0,18)> 
				97			<#else> 
				98				<#assign bLName = lName> 
				99			</#if> 
				100			<#assign maxFirstName = 19 - bLName?length > 
				101			<#if firstNameLength > maxFirstName > 
				102				<#assign bFName = fName?substring(0,maxFirstName)> 
				103			<#else> 
				104				<#assign bFName = fName> 
				105			</#if> 
				106		<#else> 
				107			<#assign bFName = fName> 
				108			<#assign bLName = lName> 
				109		</#if>  
				110</#if> 
				111 
				112<#assign prefix = "00000" > 
				113<#assign lcWithPrefix = prefix + lc > 
				114<#assign withPrefixLength = lcWithPrefix?length > 
				115<#assign startHere = withPrefixLength - 5> 
				116<#assign lc = lcWithPrefix?substring(startHere)> 
				117 
				118<#assign balanceTransferCalculatorOfferTypes = ["108", "109"] > 
				119<#assign calculatorOfferTypes = ["101", "104", "138", "154", "144", "143", "128"] > 
				120 
				121<#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! > 
				122<#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
				123<#assign clientProfile = clientProfileList?first> 
				124<#assign partnerName = clientProfile.getMarketingNameLong()> 
				125<#assign pbu = clientProfile.getPbu()> 
				126<#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
				127<#assign cdnCardArtUrl = (propsUtil.get('rackspace.cdn.cardart.url'))!> 
				128 
				129<#if (subbu_special?has_content)> 
				130	<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
				131<#else> 
				132	<#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
				133</#if> 
				134 
				135<#if (fiCardsData?size > 0)>   
				136	<#if (subbu_special?has_content)> 
				137		<#assign lc_used = fiCardsData?first.WebLocationCode>   
				138	<#else> 
				139		<#assign lc_used = lc>  
				140	</#if>  
				141</#if> 
				142 
				143<#assign marketingChannel = 'SAT2A'> 
				144<#if isEmployee> 
				145	<#assign marketingChannel = 'EMPL'> 
				146</#if> 
				147 
				148<#assign fultonBankpbu = "0727491"> 
				149<#if pbu == fultonBankpbu> 
				150    <style> 
				151        #hideFultonInfo { 
				152            display: none; 
				153        } 
				154    </style> 
				155</#if> 
				156 
				157<#function getSaaOfferIdOREmpOfferId offerType isEmp> 
				158    <#list fiCardsData as fiData> 
				159        <#if fiData.offerType == offerType> 
				160           <#if isEmp> 
				161				<#return fiData.empofferId> 
				162			</#if> 
				163			<#return fiData.saaofferId> 
				164        </#if> 
				165    </#list> 
				166   <#return "" /> 
				167</#function> 
				168 
				169<#function getFileNameByOfferType offerType> 
				170    <#list fiCardsData as fiData> 
				171        <#if fiData.offerType == offerType> 
				172           <#return fiData.filename> 
				173        </#if> 
				174    </#list> 
				175   <#return "" /> 
				176</#function> 
				177 
				178<#function getUsePRCA offerType> 
				179    <#list fiCardsData as fiData> 
				180        <#if fiData.offerType == offerType> 
				181           <#return fiData.useprca!""> 
				182        </#if> 
				183    </#list> 
				184   <#return "" /> 
				185</#function> 
				186 
				187<#function replacePlaceholders(input, APRValue, AMFValue, BALValue, TCLinkValue)> 
				188    <#return input 
				189        ?replace("{APR}", APRValue) 
				190        ?replace("{AMF}", AMFValue) 
				191        ?replace("{BAL}", BALValue) 
				192        ?replace("{TC}", TCLinkValue)> 
				193</#function> 
				194 
				195<#assign productOfferTypeValue = ""> 
				196<#assign productOfferTypeName = ""> 
				197<#if (productOfferType.getData())??> 
				198	<#assign productOfferTypeValue = productOfferType.getData()> 
				199	<#assign productOfferTypeName = productOfferType.optionsMap[productOfferType.getData()]> 
				200</#if> 
				201 
				202<#assign productOfferTypeName = productOfferTypeName?substring(productOfferTypeName?index_of(" - ") + 3)?upper_case!> 
				203 
				204 
				205<#assign offerId = getSaaOfferIdOREmpOfferId(productOfferTypeValue, isEmployee)> 
				206<#assign cardArtImage = cdnCardArtUrl + "/" + getFileNameByOfferType(productOfferTypeValue) + ".png" > 
				207<#assign cardArtImageAlt = cdnCardArtUrl + "/" + getFileNameByOfferType(productOfferTypeValue) + ".jpg" > 
				208<#assign cardArtImageAltText = partnerName + " " + productOfferTypeName?capitalize> 
				209 
				210 
				211<#assign hasBalanceTransferCalculator = balanceTransferCalculatorOfferTypes?seq_contains(productOfferTypeValue)> 
				212<#assign hasCalculatorRewards = calculatorOfferTypes?seq_contains(productOfferTypeValue)> 
				213<#assign useprcaValue = getUsePRCA(productOfferTypeValue)> 
				214 
				215<#assign APR="" AMF="" BAL=""> 
				216<#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId)> 
				217<#if scrapedData?? && scrapedData?has_content && (scrapedData?size > 0)> 
				218         
				219<#list scrapedData as sItem> 
				220		<#if sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases") && sItem.scrapedValue?has_content> 
				221			<#if !APR?has_content><#assign APR = sItem.scrapedValue></#if> 
				222		<#elseif sItem.scrapedLabel?contains("Annual Membership Fee") && sItem.scrapedValue?has_content> 
				223			<#if !AMF?has_content><#assign AMF = sItem.scrapedValue></#if> 
				224		<#elseif sItem.scrapedLabel?contains("APR for Balance Transfers") && sItem.scrapedValue?has_content> 
				225			<#if !BAL?has_content><#assign BAL = sItem.scrapedValue></#if> 
				226		</#if> 
				227		<#if APR?has_content && AMF?has_content && BAL?has_content> 
				228			<#break> 
				229		</#if> 
				230	</#list> 
				231</#if> 
				232 
				233	<#assign APRValue = APR!'' /> 
				234	<#assign AMFValue = AMF!'' /> 
				235	<#assign BALValue = BAL!'' /> 
				236 
				237	<#assign termsAndConditionsLink =  
				238		'<a href="' + oadURL_TC + '?step=display&offerId=' + offerId + '&locationCode=' + lc_used +  
				239		'" target="_blank" class="t_c_link">' + 
				240		'See Terms & Conditions' + 
				241		'</a>' 
				242	/> 
				243	<#assign TCLinkValue = termsAndConditionsLink!'' /> 
				244 
				245<#assign primaryOfferCopyRaw = primaryOfferCopy.getData()!'' /> 
				246<#assign updatedPrimaryOfferCopy = replacePlaceholders(primaryOfferCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) /> 
				247<#assign employeePrimaryOfferCopyRaw = employeePrimaryOfferCopy.getData()!'' /> 
				248<#assign updatedEmployeePrimaryOfferCopy = replacePlaceholders(employeePrimaryOfferCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) /> 
				249	 
				250<#assign benefits = []> 
				251	<#if benefit.getSiblings()?has_content> 
				252		<#list benefit.getSiblings() as benefit> 
				253		<#assign primaryBenefitCopyRaw = benefit.primaryBenefitCopy.getData()!'' /> 
				254        <#assign updatedPrimaryBenefitCopy = replacePlaceholders(primaryBenefitCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) /> 
				255		<#assign employeeprimaryBenefitCopyRaw = benefit.employeePrimaryBenefitCopy.getData()!'' /> 
				256        <#assign updatedEmployeePrimaryBenefitCopy = replacePlaceholders(employeeprimaryBenefitCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) /> 
				257		 
				258			<#assign benefitObject = { 
				259				"svgIcon": benefit.primaryBenefitSVGIcon.getData(), 
				260				"primaryBenefitCopy": updatedPrimaryBenefitCopy, 
				261				"employeePrimaryBenefitCopy": updatedEmployeePrimaryBenefitCopy 
				262			} /> 
				263			<#assign benefits += [benefitObject] /> 
				264	</#list> 
				265</#if> 
				266 
				267<#assign additionalBenefits = []> 
				268<#if additionalBenefit.getSiblings()?has_content> 
				269	<#list additionalBenefit.getSiblings() as additionalBenefit> 
				270		 
				271		<#assign additionalBenefitCopyRaw = additionalBenefit.additionalBenefitCopy.getData()!'' /> 
				272		<#assign updatedAdditionalBenefitCopy = replacePlaceholders(additionalBenefitCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) />		 
				273		<#assign employeeAdditionalBenefitCopyRaw = additionalBenefit.employeeAdditionalBenefitCopy.getData()!'' /> 
				274		<#assign updatedEmployeeAdditionalBenefitCopy = replacePlaceholders(employeeAdditionalBenefitCopyRaw, APRValue, AMFValue, BALValue, TCLinkValue) /> 
				275		 
				276				 
				277		<#assign additionalBenefitObject = { 
				278			"additionalBenefitSVGIcon": additionalBenefit.additionalBenefitSVGIcon.getData(), 
				279			"additionalBenefitCopy": updatedAdditionalBenefitCopy, 
				280			"employeeAdditionalBenefitCopy": updatedEmployeeAdditionalBenefitCopy 
				281		} /> 
				282		<#assign additionalBenefits += [additionalBenefitObject] /> 
				283	</#list> 
				284</#if> 
				285<#assign renderApplyNowButtonCount = 0> 
				286<#macro renderApplyNowButton> 
				287	<#assign renderApplyNowButtonCount = renderApplyNowButtonCount +1> 
				288	<#if useprcaValue == "1"> 
				289		<form action="${prcaURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=customer&mktChl=${marketingChannel}&applicationType=${applicationType}" method="post" class="BAAForm" id="BAAForm"> 
				290			<label for="${uniqueID}appDataBAA-${offerId}-${renderApplyNowButtonCount}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
				291			<textarea aria-hidden="true" rows="20" cols="100" name="applicationData" id="${uniqueID}appDataBAA-${offerId}-${renderApplyNowButtonCount}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
				292			<a  
				293				class="apply-now-link apply-now-button"  
				294				href="${prcaURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=customer&mktChl=${marketingChannel}&applicationType=${applicationType}" 
				295				data-button-name="apply-now-link"  
				296				data-product-name="${productOfferTypeName!''}"                 
				297			> 
				298					${applyNowText} 
				299			</a> 
				300		</form> 
				301	<#else> 
				302		<form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=customer&mktChl=${marketingChannel}" method="post" class="BAAForm" id="BAAForm"> 
				303			<label for="${uniqueID}appDataBAA-${offerId}-${renderApplyNowButtonCount}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
				304			<textarea aria-hidden="true" rows="20" cols="100" name="applicationData" id="${uniqueID}appDataBAA-${offerId}-${renderApplyNowButtonCount}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
				305			<a  
				306				class="apply-now-link apply-now-button"  
				307				href="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=customer&mktChl=${marketingChannel}" 
				308				data-button-name="apply-now-link"  
				309				data-product-name="${productOfferTypeName!''}"                 
				310			> 
				311					${applyNowText}    
				312			</a> 
				313		</form> 
				314	</#if>		 
				315</#macro> 
				316 
				317<div id="product-card-id" class="SAA-Product-Detail-2024"> 
				318	<div class="tab-card"> 
				319			<div class="tab-card__left"> 
				320				<h1 class="super-head"> 
				321					${productOfferTypeName} 
				322					<#if (cardNameFootnotes.getData())??> 
				323						<sup class="super-head--super-script">${cardNameFootnotes.getData()}</sup> 
				324					</#if> 
				325				</h1> 
				326				<img src="${cardArtImage}" alt="${cardArtImageAltText!''}" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'" /> 
				327				<@renderApplyNowButton /> 
				328				<#if (hasBalanceTransferCalculator)> 
				329					<a href="javascript:void(0);" class="transfer-modal-link" data-micromodal-trigger="modal-2">See how much you could save with a balance transfer</a> 
				330				</#if> 
				331				<#if (hasCalculatorRewards)> 
				332					 <a class="reward-calculator-link" target="_blank" href="${rewardsCalculatorURL}?ecdma-lc=${lc}">Calculate Rewards</a> 
				333				</#if> 
				334			</div> 
				335 
				336			<div class="tab-card__right">			 
				337				<h1 class="super-head"> 
				338					${productOfferTypeName} 
				339					<#if (cardNameFootnotes.getData())??> 
				340						<sup class="super-head--super-script">${cardNameFootnotes.getData()}</sup> 
				341					</#if> 
				342				</h1> 
				343				<#if isEmployee> 
				344					<div class="offer-copy"> 
				345						<#if updatedEmployeePrimaryOfferCopy?has_content> 
				346							${updatedEmployeePrimaryOfferCopy} 
				347						<#else> 
				348							${updatedPrimaryOfferCopy!''} 
				349						</#if> 
				350					</div> 
				351				<#else> 
				352					<div class="offer-copy">${updatedPrimaryOfferCopy!''}</div> 
				353				</#if> 
				354				<div class="benefits">  
				355					<#list benefits as benefit> 
				356						<div class="benefits__item"> 
				357							<#if benefit.svgIcon?has_content> 
				358								<div class="svg-container"> 
				359									<img loading="lazy" src="${benefit.svgIcon}" alt="" class="<#if benefit.svgIcon?contains('svg')>dynamic-svg</#if>" /> 
				360								</div> 
				361							</#if> 
				362							<#if isEmployee> 
				363								<div> 
				364									<#if benefit.employeePrimaryBenefitCopy?has_content> 
				365										${benefit.employeePrimaryBenefitCopy} 
				366									<#else> 
				367										${benefit.primaryBenefitCopy!''} 
				368									</#if> 
				369								</div> 
				370							<#else> 
				371								<div> 
				372									${benefit.primaryBenefitCopy!''} 
				373								</div> 
				374							</#if> 
				375						</div> 
				376					</#list> 
				377				</div> 
				378			</div> 
				379		    
				380		</div> 
				381		 
				382		<div class="additional-benefit-container"> 
				383			<div class="additional-benefit"> 
				384				<h2 class="additional-benefit__header">Additional Benefits </h2> 
				385				<div class="additional-benefit__layout"> 
				386					<#list additionalBenefits as additionalBenefit> 
				387						<div class="additional-benefit__item"> 
				388							<#if additionalBenefit.additionalBenefitSVGIcon?has_content> 
				389								<div class="svg-container"> 
				390									<img loading="lazy" src="${additionalBenefit.additionalBenefitSVGIcon}" alt="" class="dynamic-svg" /> 
				391								</div> 
				392							</#if> 
				393							<#if isEmployee> 
				394								<div> 
				395									<#if additionalBenefit.employeeAdditionalBenefitCopy?has_content> 
				396										${additionalBenefit.employeeAdditionalBenefitCopy} 
				397									<#else> 
				398										${additionalBenefit.additionalBenefitCopy!''} 
				399									</#if> 
				400								</div> 
				401							<#else> 
				402								<div>${additionalBenefit.additionalBenefitCopy!''}</div> 
				403							</#if> 
				404						</div> 
				405					</#list> 
				406				</div> 
				407				<div class="additional-benefit__button"> 
				408					<@renderApplyNowButton /> 
				409				</div>	 
				410			</div> 
				411		</div>			 
				412</div> 
				413	 
				414 
				415 
				416<!-- https://micromodal.vercel.app/ --> 
				417<script src="https://unpkg.com/micromodal/dist/micromodal.min.js" async></script> 
				418<script async>	  
				419	function submitForm(event) { 
				420		event.preventDefault();  
				421		var offerId = event.target.getAttribute("offerId");			 
				422		console.log("offerId::::::::::::::"+offerId); 
				423        var lc = document.getElementById('locationCode').value; 
				424 
				425        var url = "${prcaURL}?locationCode=" + lc + "&offerId=" + offerId + "&preparerType=customer"; 
				426		 
				427        document.getElementById('applyForm').action = url;		 
				428		postCreditcardLearnMore(url); 
				429 
				430	} 
				431	 
				432	function postCreditcardLearnMore(path, method='post') { 
				433		const form = document.createElement('form'); 
				434		form.method = method; 
				435		//form.target = '_blank'; 
				436		form.action = path; 
				437		document.body.appendChild(form); 
				438		form.submit(); 
				439	}	 
				440	AUI().ready(function() { 
				441		MicroModal.init(); 
				442 
				443		setTimeout(() => { 
				444			const svgImages = document.querySelectorAll(".SAA-Product-Detail-2024 .dynamic-svg"); 
				445			svgImages.forEach(function (image) { 
				446				const svgUrl = image.src;  
				447				fetch(svgUrl) 
				448					.then(response => response.text()) 
				449					.then(svgContent => { 
				450						const parser = new DOMParser(); 
				451						const svgElement = parser.parseFromString(svgContent, "image/svg+xml").querySelector("svg"); 
				452						if (svgElement) { 
				453							image.replaceWith(svgElement); // Replace <img> with the <svg> 
				454						} 
				455					}) 
				456					.catch(err => console.error("Error loading SVG:", err)); 
				457				 
				458			}); 
				459		}, 1); 
				460	 }); 
				461</script> 
				462 
				463<script> 
				464	 
				465	document.addEventListener('DOMContentLoaded', function() {                    
				466		var locationCode = "${rLC!lc}"; 
				467		var lc = '${lc!0}'; 
				468		 
				469		var regex = /\d+/g; 
				470		var bdNumber = "${bPhone!''}"; 
				471		var phoneNum = bdNumber.match(regex); 
				472		var areaCode = ""; 
				473		var exchangeCode = ""; 
				474		var num = ""; 
				475		if(phoneNum != null) { 
				476			phoneNum = phoneNum.join(""); 
				477			areaCode = phoneNum.substring(0,3); 
				478			exchangeCode = phoneNum.substring(3,6); 
				479			num = phoneNum.substring(6,10); 
				480		} 
				481		 
				482		jQuery('.apply-now-link').on('click', function(e) { 
				483			$(this).closest('.BAAForm').submit(); 
				484			const bankerId = '${boeid}'; 
				485			const employeeId = ""; 
				486			let visitorId = bankerId; 
				487			 
				488			if('${isEmployee?string("yes", "no")}' == "yes") { 
				489				visitorId = employeeId; 
				490			} 
				491			const htmlElementName = e.target.nodeName; 
				492			const isButton = (htmlElementName ==='BUTTON'); 
				493			// gets href of clicked anchor tag 
				494			let href = e.target.href; 
				495 
				496			// get action url of form submit button  
				497			if(isButton) { 
				498				href = document.getElementById('BAAForm').action; 
				499			} 
				500 
				501			const urlParams = new URLSearchParams(href);                    
				502			let offerId = ""; 
				503 
				504			if(urlParams.has('offerid')) { 
				505				offerId = urlParams.get('offerid'); 
				506			} 
				507 
				508			if(urlParams.has('offerId')) { 
				509				offerId = urlParams.get('offerId'); 
				510			} 
				511			 
				512			window.dataLayer.push({ 
				513				'event' : 'apply_payload', 
				514				'location_code': locationCode, 
				515				'banker_code': '${bCode}', 
				516				'offer_id': offerId, 
				517				'visitor_id': visitorId, 
				518			}); 
				519			return false; 
				520		}); 
				521		jQuery(".BAAForm").on("submit", function(e){ 
				522			e.preventDefault();                         
				523			var xmlData; 
				524			 
				525			if ('${isEmployee?string("yes", "no")}' == "yes") {  
				526				xmlData = '<?xml version="1.0"?>'+ 
				527					"<prefillData>"+  
				528						"<versionNumber>1.0</versionNumber>"+  
				529						"<applicationData>"+                                         
				530							"<bankerInformation>"+  
				531								"<employeeFullName>Employee Product</employeeFullName>"+ 
				532								"<employeeId>EMPPROD</employeeId>"+ 
				533								"<employeePhoneNumber></employeePhoneNumber>"+ 
				534								"<locationCode>" + locationCode + "</locationCode>"+ 
				535								"<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
				536								"<originatingBranchId></originatingBranchId>"+ 
				537								"<name>" + 
				538									"<first>${bFName!'0'}</first>" + 
				539									"<last>${bLName!'0'}</last>" + 
				540								"</name>"+ 
				541								"<phone>"+ 
				542									"<areaCode>" + areaCode + "</areaCode>"+  
				543									"<exchange>" + exchangeCode + "</exchange>"+ 
				544									"<number>" + num + "</number>"+  
				545								"</phone>"+  
				546							"</bankerInformation>"+  
				547							"<referral>" +  
				548								"<divisionNumber></divisionNumber>" +       
				549								"<partnerLocationID>" + locationCode + "</partnerLocationID>" +                          
				550								"<referralId>EMPPROD</referralId>" + 
				551							"</referral>" +  
				552						"</applicationData>"+  
				553					"</prefillData>";                             
				554			} else { 
				555				xmlData = '<?xml version="1.0"?>'+ 
				556					"<prefillData>"+  
				557						"<versionNumber>1.0</versionNumber>"+  
				558						"<applicationData>"+  
				559							"<bankerInformation>"+  
				560								"<locationCode>" + locationCode + "</locationCode>"+ 
				561								"<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
				562								"<employeeID>${boeid!0}</employeeID>"+ 
				563								"<name>" + 
				564									"<first>${bFName!'0'}</first>" + 
				565									"<last>${bLName!'0'}</last>" + 
				566								"</name>"+ 
				567								"<phone>"+ 
				568									"<areaCode>"+areaCode+"</areaCode>"+  
				569									"<exchange>"+exchangeCode+"</exchange>"+ 
				570									"<number>"+num+"</number>"+  
				571								"</phone>"+  
				572							"</bankerInformation>"+  
				573						"</applicationData>"+  
				574					"</prefillData>" 
				575			} 
				576			console.log("useprcaValue---->"+${useprcaValue}) 
				577			if('${useprcaValue}' =='1'){ 
				578			  if('${isEmployee?string("yes", "no")}' == "yes"){   						 
				579				var employeeFullName = "${fName!'0'}" + ' ' + "${lName!'0'}"; 
				580				var firstName = "${fName!'0'}".trim(); 
				581				var lastName = "${lName!'0'}".trim(); 
				582				var fullName = employeeFullName.trim();  
				583					 
				584				if (fullName.length <= 19) { 
				585					employeeFullName = fullName;  
				586				} else if (firstName.charAt(0) + ' ' + lastName.length <= 19) { 
				587					employeeFullName = firstName.charAt(0) + ' ' + lastName;  
				588				} else { 
				589					employeeFullName = firstName.charAt(0) + ' ' + lastName.substring(0, 17); 
				590				}							 
				591				 var applicationJsonData = { 
				592									  "prefillData": { 
				593										"versionNumber": "1.0", 
				594										"applicationData": { 
				595										  "bankerInformation": { 
				596											"locationCode": locationCode, 
				597											"originatingBranchId": "${bName!'0'}", 
				598											"employeeId": "EMPPROD", 
				599											"employeeFullName": "Employee Product", 
				600											"employeePhoneNumber": phoneNum 
				601										  } 
				602										} 
				603									  } 
				604									}; 
				605				}else{ 
				606				var employeeFullName = "${fName!'0'}" + ' ' + "${lName!'0'}"; 
				607				var firstName = "${fName!'0'}".trim(); 
				608				var lastName = "${lName!'0'}".trim(); 
				609				var fullName = employeeFullName.trim();  
				610					 
				611				if (fullName.length <= 19) { 
				612					employeeFullName = fullName;  
				613				} else if (firstName.charAt(0) + ' ' + lastName.length <= 19) { 
				614					employeeFullName = firstName.charAt(0) + ' ' + lastName;  
				615				} else { 
				616					employeeFullName = firstName.charAt(0) + ' ' + lastName.substring(0, 17); 
				617				}							 
				618				 var applicationJsonData = { 
				619									  "prefillData": { 
				620										"versionNumber": "1.0", 
				621										"applicationData": { 
				622										  "bankerInformation": { 
				623											"locationCode": locationCode, 
				624											"originatingBranchId": "${bName!'0'}", 
				625											"employeeId": "${boeid!0}", 
				626											"employeeFullName": employeeFullName, 
				627											"employeePhoneNumber": phoneNum 
				628										  } 
				629										} 
				630									  } 
				631									}; 
				632				} 
				633				var jsonData = JSON.stringify(applicationJsonData); 
				634				$(this).children(".appDataBAA").val(jsonData); 
				635			}else{ 
				636			  $(this).children(".appDataBAA").val(xmlData); 
				637			} 
				638			 
				639			this.submit();                   
				640		});                                                                                   
				641	}); 
				642	function resizeImg(img) { 
				643		img.addEventListener("load", function() { 
				644			var cardImgWidth = img.width; 
				645			var cardImgHeight = img.height; 
				646			if(cardImgWidth > cardImgHeight) { 
				647				img.style.width = "285px"; 
				648			} else { 
				649				img.style.width = "150px"; 
				650			} 
				651		}); 
				652	} 
				653</script> 
				654 
				655<style> 
				656	:root { 
				657		--card-image-size: 280px; 
				658		--left-padding: 30px; 
				659		--left-width: calc(var(--card-image-size) + var(--left-padding)); 
				660		--addition-benefits-gap-desktop: 30px; 
				661	} 
				662	.SAA-Product-Detail-2024 .tab-card { 
				663		align-items: flex-start; 
				664		display: flex; 
				665		flex-wrap: wrap; 
				666		justify-content: center; 
				667		max-width: 1336px; 
				668  		margin: 0 20px; 
				669	} 
				670	@media (min-width: 870px) { 
				671		.SAA-Product-Detail-2024 .tab-card { 
				672			flex-wrap: nowrap; 
				673			padding-bottom: 45px; 
				674		} 
				675	} 
				676	@media (min-width: 1376px) { 
				677		.SAA-Product-Detail-2024 .tab-card { 
				678   			margin: 0 auto; 
				679		} 
				680  	} 
				681	@media (min-width: 1336px) { 
				682		.SAA-Product-Detail-2024 .tab-card { 
				683			align-items: stretch; 
				684		} 
				685	} 
				686 
				687	.SAA-Product-Detail-2024 .tab-card__left { 
				688		display: flex; 
				689		align-items: center; 
				690		flex-direction: column; 
				691		flex-shrink: 0; 
				692		width: 100%; 
				693		padding: 40px 0 10px 0; 
				694	} 
				695	@media (min-width: 870px) { 
				696		.SAA-Product-Detail-2024 .tab-card__left { 
				697			display: block; 
				698			width: var(--left-width); 
				699			padding-right: var(--left-padding); 
				700		} 
				701		.SAA-Product-Detail-2024 .tab-card__left .super-head { 
				702			display: none; 
				703		} 
				704	} 
				705    .SAA-Product-Detail-2024 .tab-card__left img { 
				706        height: auto; 
				707		margin: auto; 
				708		margin-bottom: 20px; 
				709		display: block; 
				710		max-height: var(--card-image-size); 
				711		object-fit: contain; 
				712		max-width: var(--card-image-size); 
				713    } 
				714	#content .SAA-Product-Detail-2024 .BAAForm { 
				715		width: 100%; 
				716	} 
				717	#content .SAA-Product-Detail-2024 .apply-now-link { 
				718		width: 168px; 
				719		padding: 10px 30px; 
				720		margin-right: auto; 
				721		margin-left: auto; 
				722		background-color: var(--ecdma-btn-color); 
				723		color: #fff; 
				724		text-transform: capitalize; 
				725		text-align: center; 
				726		text-decoration: none; 
				727	} 
				728	#content .SAA-Product-Detail-2024 .apply-now-link:hover { 
				729		background-color: var(--ecdma-hover-color); 
				730	} 
				731	.SAA-Product-Detail-2024 .apply-now-link, 
				732	.SAA-Product-Detail-2024 .reward-calculator-link, 
				733	.SAA-Product-Detail-2024 .transfer-modal-link { 
				734		display: block; 
				735		text-align: center; 
				736		margin-bottom: 10px; 
				737	} 
				738 
				739	.SAA-Product-Detail-2024 .tab-card__right { 
				740		flex-grow: 1; 
				741		padding: 0 0 40px 0; 
				742	} 
				743	@media (min-width: 870px) { 
				744		.SAA-Product-Detail-2024 .tab-card__right { 
				745			padding: 30px 0 30px 0; 
				746		} 
				747	} 
				748	.SAA-Product-Detail-2024 .tab-card__right .super-head { 
				749		display: none; 
				750	} 
				751	@media (min-width: 870px) { 
				752		.SAA-Product-Detail-2024 .tab-card__right .super-head { 
				753			display: block; 
				754		} 
				755	} 
				756	#content .SAA-Product-Detail-2024 .super-head { 
				757		color: #000; 
				758		margin-bottom: 18px; 
				759	} 
				760	#content .SAA-Product-Detail-2024 .super-head--super-script { 
				761		font-size: 10px; 
				762    	line-height: 13px; 
				763	} 
				764	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy p { 
				765		margin-bottom: 10px; 
				766	} 
				767	.SAA-Product-Detail-2024 .tab-card__right .offer-copy { 
				768		color: #000; 
				769		margin-bottom: 20px; 
				770	} 
				771	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h1, 
				772	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h2, 
				773	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h3, 
				774	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h4, 
				775	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h5, 
				776	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h6 { 
				777		color: var(--ecdma-text-color); 
				778		font-size: 25px; 
				779		font-style: normal; 
				780		font-weight: 400; 
				781		line-height: 1.3; 
				782		margin-bottom: 8px; 
				783	} 
				784	.SAA-Product-Detail-2024 .benefits { 
				785        display: flex; 
				786		flex-wrap: wrap; 
				787		gap: 20px; 
				788    } 
				789    .SAA-Product-Detail-2024 .benefits__item { 
				790		display: flex; 
				791		flex-wrap: none; 
				792		gap: 10px; 
				793		flex: 1; 
				794		flex-basis: 100%; 
				795    } 
				796	@media (min-width: 870px) { 
				797		.SAA-Product-Detail-2024 .benefits__item { 
				798			flex-basis: calc(50% - 20px); 
				799		} 
				800	} 
				801	.SAA-Product-Detail-2024 .benefits__item .benefitfootnote { 
				802		font-size: 85%; 
				803	} 
				804	#content .SAA-Product-Detail-2024 .tab-card__right .offer-copy h2 sup, 
				805	#content .SAA-Product-Detail-2024 .benefits__item h3 sup { 
				806		font-size: 75%; 
				807		font-weight: normal; 
				808	} 
				809 
				810    .SAA-Product-Detail-2024 .benefits__item img { 
				811        width: 20px; 
				812        height: 20px; 
				813        margin-right: 5px; 
				814    } 
				815	#content .SAA-Product-Detail-2024 .benefits__item h1, 
				816	#content .SAA-Product-Detail-2024 .benefits__item h2, 
				817	#content .SAA-Product-Detail-2024 .benefits__item h3, 
				818	#content .SAA-Product-Detail-2024 .benefits__item h4, 
				819	#content .SAA-Product-Detail-2024 .benefits__item h5, 
				820	#content .SAA-Product-Detail-2024 .benefits__item h6 { 
				821		color: var(--ecdma-text-color); 
				822		font-size: 20px; 
				823		font-style: normal; 
				824		font-weight: 700; 
				825		line-height: 1.3; 
				826		margin-bottom: 8px; 
				827	} 
				828	.SAA-Product-Detail-2024 .svg-container, 
				829	.SAA-Product-Detail-2024 .benefits__item h1, 
				830	.SAA-Product-Detail-2024 .benefits__item h2, 
				831	.SAA-Product-Detail-2024 .benefits__item h3, 
				832	.SAA-Product-Detail-2024 .benefits__item h4, 
				833	.SAA-Product-Detail-2024 .benefits__item h5, 
				834	.SAA-Product-Detail-2024 .benefits__item h6 { 
				835		display: inline-block; 
				836	} 
				837	.SAA-Product-Detail-2024 .svg-container svg, 
				838	.SAA-Product-Detail-2024 .svg-container svg rect, 
				839	.SAA-Product-Detail-2024 .svg-container svg circle, 
				840	.SAA-Product-Detail-2024 .svg-container svg ellipse, 
				841	.SAA-Product-Detail-2024 .svg-container svg line, 
				842	.SAA-Product-Detail-2024 .svg-container svg polygon, 
				843	.SAA-Product-Detail-2024 .svg-container svg polyline, 
				844	.SAA-Product-Detail-2024 .svg-container svg path, 
				845	.SAA-Product-Detail-2024 .svg-container svg text, 
				846	.SAA-Product-Detail-2024 .svg-container svg tspan, 
				847	.SAA-Product-Detail-2024 .svg-container svg textPath 
				848	.SAA-Product-Detail-2024 .svg-container svg g, 
				849	.SAA-Product-Detail-2024 .svg-container svg use { 
				850        fill: var(--ecdma-bg-color) !important; 
				851		stroke: var(--ecdma-bg-color) !important; 
				852    } 
				853	.SAA-Product-Detail-2024 .svg-container svg, 
				854	.SAA-Product-Detail-2024 .svg-container img { 
				855		margin: 0; 
				856		max-width: 30px; 
				857		height: 30px; 
				858	} 
				859	.additional-benefit-container { 
				860		background-color: #F7F7F7; 
				861		padding: 30px 0; 
				862		margin-bottom: 30px; 
				863	} 
				864	.SAA-Product-Detail-2024 .additional-benefit { 
				865		max-width: 1336px; 
				866  		margin: 0 20px; 
				867	} 
				868	@media (min-width: 1376px) { 
				869		.SAA-Product-Detail-2024 .additional-benefit { 
				870    		margin: 0 auto; 
				871		} 
				872 	} 
				873	.SAA-Product-Detail-2024 .additional-benefit__layout { 
				874		display: flex; 
				875		flex-wrap: wrap; 
				876		margin: 20px 0; 
				877		gap: 20px; 
				878	} 
				879	@media (min-width: 870px) { 
				880		.SAA-Product-Detail-2024 .additional-benefit__layout { 
				881			margin: 40px 0; 
				882			gap: var(--addition-benefits-gap-desktop); 
				883		} 
				884	} 
				885	#content .SAA-Product-Detail-2024 .additional-benefit__header { 
				886		color: #000; 
				887		text-align: left; 
				888		font-size: 25px; 
				889		font-weight: 400; 
				890		line-height: 1.4; 
				891	} 
				892	@media (min-width: 870px) { 
				893		#content .SAA-Product-Detail-2024 .additional-benefit__header { 
				894			text-align: center; 
				895		} 
				896	} 
				897	 .SAA-Product-Detail-2024 .additional-benefit__item { 
				898		display: flex; 
				899		flex-wrap: nowrap; 
				900		gap: 10px; 
				901		flex: 1; 
				902		flex-basis: 100%; 
				903    } 
				904	@media (min-width: 870px) { 
				905		.SAA-Product-Detail-2024 .additional-benefit__item { 
				906			flex-basis: calc(25% - var(--addition-benefits-gap-desktop)); 
				907		} 
				908	} 
				909	#content .SAA-Product-Detail-2024 .additional-benefit__item h1, 
				910	#content .SAA-Product-Detail-2024 .additional-benefit__item h2, 
				911	#content .SAA-Product-Detail-2024 .additional-benefit__item h3, 
				912	#content .SAA-Product-Detail-2024 .additional-benefit__item h4, 
				913	#content .SAA-Product-Detail-2024 .additional-benefit__item h5, 
				914	#content .SAA-Product-Detail-2024 .additional-benefit__item h6 { 
				915		color: var(--ecdma-text-color); 
				916		font-size: 20px; 
				917		font-style: normal; 
				918		font-weight: 700; 
				919		line-height: 1.4; 
				920		margin-bottom: 10px; 
				921	} 
				922	.SAA-Product-Detail-2024 .additional-benefit__button .apply-now-link { 
				923		margin: auto; 
				924	} 
				925	@media (min-width: 870px) { 
				926		.SAA-Product-Detail-2024 .additional-benefit__button .apply-now-link { 
				927			max-width: var(--card-image-size); 
				928		} 
				929	} 
				930</style> 
		
	
		Se ha producido un error al procesar la plantilla.	
	
		
				
	
		The following has evaluated to null or missing:
==> url404  [in template "10154#10192#18386842" at line 37, column 30]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${url404}  [in template "10154#10192#18386842" at line 37, column 28]
----
	1<#assign url = themeDisplay.getURLCurrent() > 
				2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
				3<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! /> 
				4 
				5<#if qstringmap["bankercode"]?has_content> 
				6    <#assign bankercode = qstringmap["bankercode"]?first> 
				7    <#assign bankercode = htmlUtil.escape(bankercode)> 
				8    <#assign bankercode = htmlUtil.escapeJS(bankercode)> 
				9    <#assign bankercode = htmlUtil.escapeURL(bankercode)> 
				10 
				11    <#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bankercode)> 
				12    <#if fiData?first?has_content> 
				13        <#assign fi = fiData?first> 
				14        <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
				15            <#assign subbu_special = fi.offerId> 
				16        </#if> 
				17    </#if>  
				18 
				19    <#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bankercode)> 
				20    <#list bData as b>         
				21      <#assign rLC = b.reallocationcode > 
				22      <#assign lc = b.locationcode > 
				23      <#assign mappedLC = b.mappedLocationCode > 
				24    </#list>    
				25 
				26    <#assign isEmployee = false> 
				27 
				28    <#if fiData?first?has_content> 
				29        <#assign fi = fiData?first> 
				30        <#if fi.projectType == "emp"> 
				31            <#assign isEmployee = true> 
				32        </#if> 
				33    </#if>  
				34<#else> 
				35    <script> 
				36        console.log("MainProductBcode missing"); 
				37        //location.href = '${url404}'; 
				38    </script> 
				39</#if> 
				40 
				41<#if bankercode?starts_with("amp") && (url?contains("11t1m"))> 
				42    <#assign ameriprise = true> 
				43<#else> 
				44    <#assign ameriprise = false> 
				45</#if> 
				46 
				47<#if mappedLC?has_content && !ameriprise> 
				48    <#assign lc = mappedLC > 
				49</#if> 
				50 
				51 
				52<#if lc?has_content> 
				53    <#assign prefix = "00000" > 
				54    <#assign lcWithPrefix = prefix + lc > 
				55    <#assign withPrefixLength = lcWithPrefix?length > 
				56    <#assign startHere = withPrefixLength - 5> 
				57    <#assign lc = lcWithPrefix?substring(startHere)> 
				58    <#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! /> 
				59    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
				60 
				61    <#assign clientProfile = clientProfileList?first>  
				62    <#assign partnerName=clientProfile.getMarketingNameLong()> 
				63    <#assign pbu = clientProfile.getPbu()> 
				64    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
				65     
				66	<#assign fultonBankpbu = "0727491"> 
				67	<#if pbu == fultonBankpbu> 
				68		<style> 
				69			#hideFultonInfo { 
				70				display: none; 
				71			} 
				72		</style> 
				73	</#if> 
				74	 
				75	<#assign optoutData = utilServ.makeCall('crc_DDCSAAOptOut',pbu+'&'+subbu)> 
				76    <#if (optoutData?size == 0)> 
				77            <#if (subbu_special?has_content)> 
				78                <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
				79                <script> 
				80                    console.log('new subbu', '${subbu_special!''}'); 
				81                </script>  
				82            <#else> 
				83                <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
				84            </#if> 
				85            <#if (fiCardsData?size > 0)> 
				86                <#assign cardProvider = utilServ.makeCall('crcDDCGetMcOrVisa', fiCardsData[0].offerType + '&' + lc)> 
				87                <#assign cardProviderAbbreviated = ''> 
				88                <#if (cardProvider?size > 0)> 
				89                    <#-- This will be V for visa or M for mastercard. --> 
				90                    <#assign cardProviderAbbreviated = cardProvider[0].cardType> 
				91                <#else> 
				92                    <script> 
				93                        console.log('No V or M data') 
				94                    </script> 
				95                </#if> 
				96                <#list fiCardsData as fib> 
				97                    <#switch fib.offerType> 
				98                        <#case "101"> 
				99                            <#assign productURL = "consumer-edr2112"> 
				100                            <#assign productName = "Everyday Rewards+"> 
				101                            <#break> 
				102                        <#case "104"> 
				103                            <#assign productURL = "max-cash"> 
				104                            <#assign productName = "Max Cash Preferred Card">       
				105                            <#break> 
				106                        <#case "108"> 
				107                            <#assign productURL="consumer-platinum2103"> 
				108                            <#assign productName="Platinum Card"> 
				109                            <#break> 
				110                        <#case "109"> 
				111                            <#assign productURL="consumer-platinum2103"> 
				112                            <#assign productName="Platinum Card"> 
				113                            <#break> 
				114                        <#case "115"> 
				115                            <#assign productURL = "secured"> 
				116                            <#assign productName = "Secured Card" > 
				117                            <#break> 
				118                        <#case "138"> 
				119                            <#assign productURL = "travel-rewards-plus"> 
				120                            <#assign productName = "Travel Rewards+" > 
				121                            <#break> 
				122                        <#case "141"> 
				123                            <#assign productURL = "college-real-rewards"> 
				124                            <#assign productName = "College Real Rewards" >     
				125                            <#break> 
				126                        <#case "147"> 
				127                            <#assign productURL = "max-cash-secured"> 
				128                            <#assign productName = "Max Cash Secured Card" >     
				129                            <#break> 
				130                        <#case "154"> 
				131                            <#assign productURL = "reserve-rewards-plus"> 
				132                            <#assign productName = "Reserve Rewards+" > 
				133                            <#break> 
				134                        <#case "121"> 
				135                            <#assign productURL = "business-platinum2103"> 
				136                            <#assign productName = "Business Card" > 
				137                            <#break> 
				138                        <#case "128"> 
				139                            <#assign productURL = "business-cash-preferred"> 
				140                            <#assign productName = "Business Cash Preferred" > 
				141                            <#break> 
				142                        <#case "143"> 
				143                            <#assign productURL = "business-real-rewards"> 
				144                            <#assign productName = "Business Real Rewards Card" > 
				145                            <#break> 
				146                        <#case "144"> 
				147                            <#assign productURL = "smart-business-rewards"> 
				148                            <#assign productName = "Smart Business Rewards Card" >     
				149                            <#break> 
				150                        <#default>                                                         
				151                    </#switch> 
				152                    <#if productURL?has_content && url?matches(".*/${productURL}\\?.*")> 
				153                            <#list product.getSiblings() as card> 
				154                                <#if (card.offerType.getData() == fib.offerType)> 
				155                                    <div class="page-disclaimer" title="${partnerName!''} - Disclaimer"> 
				156                                        <div class="page-disclaimer__content">                                              
				157                                            <#if pbuList.getData()?has_content && pbuList.getData()?contains(pbu) && card.disclaimerAssociatedBank.getData()?has_content> 
				158                                                <#if isEmployee && card.employeeDisclaimerAssociatedBank?has_content> 
				159                                                    ${card.employeeDisclaimerAssociatedBank.getData()} 
				160                                                <#else> 
				161                                                    ${card.disclaimerAssociatedBank.getData()} 
				162                                                </#if> 
				163                                            <#else> 
				164                                                <#if isEmployee && card.employeeDisclaimerVisa?has_content && cardProviderAbbreviated?contains('V')> 
				165                                                    ${card.employeeDisclaimerVisa.getData()} 
				166                                                <#elseif isEmployee && card.employeeDisclaimerMasterCard?has_content && cardProviderAbbreviated?contains('M')> 
				167                                                    ${card.employeeDisclaimerMasterCard.getData()} 
				168                                                <#elseif (card.disclaimerVisa?has_content && cardProviderAbbreviated?contains('V'))> 
				169                                                    ${card.disclaimerVisa.getData()} 
				170                                                <#elseif (card.disclaimerMasterCard?has_content && cardProviderAbbreviated?contains('M')) > 
				171                                                    ${card.disclaimerMasterCard.getData()} 
				172                                                </#if> 
				173                                            </#if>                                          
				174                                        </div> 
				175                                    </div> 
				176                                    <#break> 
				177                                </#if> 
				178                            </#list> 
				179                        <#break> 
				180                    </#if> 
				181                </#list> 
				182            <#else> 
				183                <script> 
				184                    console.log("Empty card data"); 
				185                </script> 
				186            </#if> 
				187    <#else> 
				188        <script> 
				189            console.log("FI opt out"); 
				190        </script> 
				191    </#if> 
				192 
				193<#else> 
				194    <script> 
				195        console.log("No lc for disclaimer"); 
				196    </script> 
				197</#if> 
		
	
		Se ha producido un error al procesar la plantilla.	
	
		
				
	
		The following has evaluated to null or missing:
==> qstringmap["bankercode"]  [in template "10154#10192#18386837" at line 14, column 17]
----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign bCode = qstringmap["bankercod...  [in template "10154#10192#18386837" at line 14, column 1]
----
	1<#-- 
				2Web content templates are used to lay out the fields defined in a web 
				3content structure. 
				4 
				5Please use the left panel to quickly add commonly used variables. 
				6Autocomplete is also available and can be invoked by typing "${". 
				7--><#assign aDateTime = .now> 
				8<#assign currentYear = aDateTime?string.yyyy> 
				9<#assign url = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent()/> 
				10<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
				11<#assign utilServ = (serviceLocator.findService("com.elan.crc.utilites.service.CRCRemoteServiceService"))! /> 
				12<#assign url404 = '/error/404.html'> 
				13 
				14<#assign bCode= qstringmap["bankercode"]?first> 
				15<#assign bCode = htmlUtil.escape(bCode)> 
				16<#assign bCode = htmlUtil.escapeJS(bCode)> 
				17 
				18<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetail','0&'+bCode)> 
				19<#list bData as b>      
				20    <#assign lc = b.locationcode > 
				21    <#assign rLC = b.reallocationcode > 
				22    <#assign mappedLC = b.mappedLocationCode > 
				23</#list>  
				24 
				25<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
				26    <#assign ameriprise = true> 
				27<#else> 
				28    <#assign ameriprise = false> 
				29</#if> 
				30<#if mappedLC?has_content && !ameriprise> 
				31    <#assign lc = mappedLC > 
				32</#if> 
				33 
				34<#if lc?has_content> 
				35 
				36    <#assign prefix = "00000" > 
				37    <#assign lcWithPrefix = prefix + lc > 
				38    <#assign withPrefixLength = lcWithPrefix?length > 
				39    <#assign startHere = withPrefixLength - 5> 
				40    <#assign lc = lcWithPrefix?substring(startHere)> 
				41<#assign clientProfileService = (serviceLocator.findService("com.elan.crc.user.service.CrcClientProfileLocalService"))! > 
				42    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
				43 
				44    <#assign clientProfile = clientProfileList?first> 
				45    <#assign pbu = clientProfile.getPbu()> 
				46    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>   
				47    <#assign partnerName=clientProfile.getMarketingNameLong()> 
				48    <#assign clientDataService = (serviceLocator.findService("com.elan.crc.user.service.CrcPbuLocalService"))! /> 
				49    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
				50    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
				51    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\://.*")> 
				52        <#-- add protocal if missing  --> 
				53        <#assign partnerUrl = 'https://' + partnerUrl> 
				54    </#if> 
				55    <footer class="page-footer"> 
				56        <div class="page-footer__content"> 
				57            ${footerContent.getData()} 
				58        </div> 
				59    </footer> 
				60 
				61    <!-- BEGIN CALIFORNIA OPT-OUT MODAL STYLE AND MARKUP --> 
				62        <script src="https://unpkg.com/micromodal/dist/micromodal.min.js"></script> 
				63        <style> 
				64            #opt-out-button, 
				65            .modal__btn.learn-more { 
				66                background: #0C2074; 
				67                border: 1px solid #0C2074; 
				68                color: white; 
				69                text-transform: uppercase; 
				70                text-decoration: none; 
				71                font-size: 16px; 
				72                padding: 0.5rem 2rem; 
				73                display: inline-block; 
				74                border-radius: 0; 
				75            } 
				76            #opt-out-button:hover, 
				77            .modal__btn.learn-more:hover { 
				78                color: white; 
				79                border-color: #2C76AF !important; 
				80                background-color: #2C76AF !important; 
				81            } 
				82            .modal__btn.learn-more { 
				83                background: white; 
				84                border: 1px solid #0C2074; 
				85                color: #0C2074; 
				86            } 
				87            #opt-out-button[disabled="true"] { 
				88                background-color: rgba(0,0,0,.15); 
				89                color: rgba(0,0,0,.45); 
				90                border-color: rgba(0,0,0,.25); 
				91            } 
				92            #opt-out-button:hover[disabled="true"] { 
				93                background-color: rgba(0,0,0,.15) !important; 
				94                color: rgba(0,0,0,.45) !important; 
				95                border-color: rgba(0,0,0,.25) !important; 
				96            } 
				97            #opt-out-button:focus { 
				98                outline-style: solid; 
				99                outline-color: white; 
				100                outline-offset: -3px; 
				101                outline-width: 1px; 
				102            } 
				103            .opt-out-link svg { 
				104                width: 30px; 
				105                height: 14px; 
				106                width: auto; 
				107                vertical-align: middle; 
				108            } 
				109            .modal__overlay { 
				110                position: fixed; 
				111                top: 0; 
				112                left: 0; 
				113                right: 0; 
				114                bottom: 0; 
				115                background: rgba(0,0,0,0.6); 
				116                display: flex; 
				117                justify-content: center; 
				118                align-items: center; 
				119            } 
				120 
				121            .modal__container { 
				122                background-color: #fff; 
				123                padding: 30px; 
				124                max-width: 500px; 
				125                max-height: 100vh; 
				126                border-radius: 4px; 
				127                overflow-y: auto; 
				128                box-sizing: border-box; 
				129            } 
				130 
				131            .modal__header { 
				132                display: flex; 
				133                justify-content: space-between; 
				134                align-items: center; 
				135            } 
				136 
				137            .modal__title { 
				138                margin-top: 0; 
				139                margin-bottom: 0; 
				140                font-weight: 600; 
				141                font-size: 20px; 
				142                line-height: 1.25; 
				143                color: #00449e; 
				144                box-sizing: border-box; 
				145            } 
				146 
				147            .modal__close { 
				148                background: transparent; 
				149                border: 1px solid white; 
				150                padding: 4px 8px; 
				151            } 
				152            .modal__close:hover { 
				153                border: 1px solid black; 
				154            } 
				155 
				156            .modal__header .modal__close:before { content: "\2715"; } 
				157 
				158            .modal__content { 
				159                margin-top: 2rem; 
				160                margin-bottom: 2rem; 
				161                line-height: 1.5; 
				162            } 
				163 
				164            @keyframes mmfadeIn { 
				165                from { opacity: 0; } 
				166                to { opacity: 1; } 
				167            } 
				168 
				169            @keyframes mmfadeOut { 
				170                from { opacity: 1; } 
				171                to { opacity: 0; } 
				172            } 
				173 
				174            @keyframes mmslideIn { 
				175                from { transform: translateY(15%); } 
				176                to { transform: translateY(0); } 
				177            } 
				178 
				179            @keyframes mmslideOut { 
				180                from { transform: translateY(0); } 
				181                to { transform: translateY(-10%); } 
				182            } 
				183 
				184            .micromodal-slide { 
				185                display: none; 
				186            } 
				187 
				188            .micromodal-slide.is-open { 
				189                display: block; 
				190            } 
				191 
				192            .micromodal-slide[aria-hidden="false"] .modal__overlay { 
				193                animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
				194            } 
				195 
				196            .micromodal-slide[aria-hidden="false"] .modal__container { 
				197                animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); 
				198            } 
				199 
				200            .micromodal-slide[aria-hidden="true"] .modal__overlay { 
				201                animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); 
				202            } 
				203 
				204            .micromodal-slide[aria-hidden="true"] .modal__container { 
				205                animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); 
				206            } 
				207 
				208            .micromodal-slide .modal__container, 
				209            .micromodal-slide .modal__overlay { 
				210                will-change: transform; 
				211            } 
				212        </style> 
				213 
				214        <div class="modal micromodal-slide" id="modal-1" aria-hidden="true"> 
				215        <div class="modal__overlay" tabindex="-1" data-micromodal-close> 
				216            <div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-1-title"> 
				217            <header class="modal__header"> 
				218                <h2 class="modal__title" id="modal-1-title"> 
				219                Your California privacy choices 
				220                </h2> 
				221                <button class="modal__close" aria-label="Close modal" data-micromodal-close></button> 
				222            </header> 
				223            <div class="modal__content" id="modal-1-content"> 
				224                <div id="message-no-cookie"> 
				225                    <p> 
				226                    We use technologies, such as cookies, that gather information on our website. That information is used for a variety of purposes, such as to understand how visitors interact with our websites, or to serve advertisements on our websites or on other websites. The use of technologies, such as cookies, constitutes a ‘share’ or ‘sale’ of personal information under the California Privacy Rights Act. You can stop the use of certain third-party tracking technologies that are not considered our service providers by clicking on “Opt-Out” below or by broadcasting the global privacy control signal.</p> 
				227                     
				228        <p> </p> 
				229 
				230        <p>Note that due to technological limitations, if you visit our website from a different computer or device, or clear cookies on your browser that store your preferences, you will need to return to this screen to opt-out and/or rebroadcast the signal. You can find a description of the types of tracking technologies, and your options with respect to those technologies, by clicking “Learn more” below.</p> 
				231            </div> 
				232            <div id="message-with-cookie"> 
				233                <p>You have successfully opted-out.</p> 
				234            </div> 
				235            </div> 
				236            <div class="modal__footer"> 
				237                <a href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?phase=privacyPolicy" target="_blank" class="modal__btn learn-more" aria-label="Learn more">Learn More</a> 
				238                <button id="opt-out-button" class="modal__btn modal__btn-primary" aria-label="Opt Out and Close modal" onclick="window.californiaOptOut()">Opt Out</button> 
				239            </div> 
				240            </div> 
				241        </div> 
				242        </div> 
				243    <!-- END CALIFORNIA OPT-OUT MODAL STYLE AND MARKUP --> 
				244    <script> 
				245        const fdicNode = document.querySelector('.page-footer .fdic');                          
				246    </script> 
				247    <script> 
				248        const copyrightNode = document.querySelector('.page-footer .copyright'); 
				249        if (copyrightNode) { 
				250            copyrightNode.innerHTML = '© Elan Financial Services ' + ${currentYear}; 
				251        } 
				252 
				253    </script> 
				254    <#if url?contains("11t1m")> 
				255        <script>        
				256            copyrightNode.classList.add("ecdma-footer-client-name-copyright"); 
				257            fdicNode.innerHTML='<a class="text-color-white" href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?phase=privacyPolicy" target="_blank">Privacy and Security</a>'; 
				258        </script> 
				259    <#else> 
				260        <script> 
				261            copyrightNode.classList.add("ecdma-footer-client-name-copyright"); 
				262            fdicNode.innerHTML='<a class="text-color-white" href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?phase=privacyPolicy" target="_blank">Privacy and Security</a>'; 
				263            var newNode = document.createElement("div");  
				264            newNode.classList.add("member-agreement"); 
				265            newNode.innerHTML='<a class="text-color-white" href="https://onboarding.elancreditcard.com/usl/generic/credit-card/application/card-member-agreements?locationCode=${lc!0}" target="_blank">Cardmember Agreements</a>'; 
				266            var parent = fdicNode.parentNode; 
				267            parent.insertBefore(newNode, fdicNode); 
				268        </script> 
				269    </#if> 
				270 
				271    <#if partnerUrl?has_content> 
				272        <script> 
				273            const homeLink = document.querySelector('.copyright .homelink'); 
				274            if(homeLink) { 
				275                homeLink.innerHTML="<a class='text-color-white' href='${partnerUrl!''}' title='${partnerName!''}' target='_blank'>Home</a>"; 
				276            } 
				277        </script> 
				278    </#if> 
				279 
				280    <script> 
				281        /* BEGIN CALIFORNIA OPT-OUT MODAL TRIGGER */ 
				282        fdicNode.insertAdjacentHTML('afterend', '<div class="opt-out-container"><a href="javascript:void(0);" class="opt-out-link text-color-white" data-micromodal-trigger="modal-1">Your California privacy choices <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14" xml:space="preserve"><path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z" fill-rule="evenodd" clip-rule="evenodd" fill="#fff"/><path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8z" fill-rule="evenodd" clip-rule="evenodd" fill="#06f"/><path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z" fill="#fff"/><path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z" fill="#06f"/></svg></a></div>'); 
				283        /* END CALIFORNIA OPT-OUT MODAL TRIGGER */ 
				284    </script> 
				285    <!-- BEGIN CALIFORNIA OPT-OUT MODAL LOGIC --> 
				286 
				287    <script> 
				288        window.getCookieDomain = function() { 
				289            var hostname = window.location.hostname.split("."); 
				290            return hostname && hostname.slice(hostname.length - 2).join("."); 
				291        } 
				292        window.setToOptOut = function() { 
				293            if (window.getCookie('privacy_optout')) { 
				294                    document.getElementById('message-no-cookie').style.display = 'none'; 
				295                    document.getElementById('message-with-cookie').style.display = 'block'; 
				296                    document.getElementById('opt-out-button').setAttribute('disabled', true) 
				297                } else { 
				298                    document.getElementById('message-no-cookie').style.display = 'block'; 
				299                    document.getElementById('message-with-cookie').style.display = 'none'; 
				300            } 
				301        } 
				302        window.getCookie = function(name) { 
				303            var value = '; ' + document.cookie; 
				304            var parts = value.split('; ' + name + '='); 
				305            if (parts.length === 2) return parts.pop().split(';').shift(); 
				306        } 
				307        window.californiaOptOut = function() { 
				308            if (!window.getCookie('privacy_optout')) { 
				309                document.cookie = 'privacy_optout=1; path=/; domain=' + window.getCookieDomain() + '; expires=Thu, 31 Dec 2099 00:00:00 GMT;'; 
				310                try { 
				311                if (window.CustomEvent) { 
				312                    window.dispatchEvent(new CustomEvent('privacy_optout')); 
				313                } else { 
				314                    var privacyOptoutEvent = document.createEvent('Event'); 
				315                    privacyOptoutEvent.initEvent('privacy_optout', true, true); 
				316                    window.dispatchEvent(privacyOptoutEvent); 
				317                } 
				318                window.setToOptOut(); 
				319                } catch (err) { 
				320                console.error(err); 
				321                } 
				322            } 
				323        } 
				324        MicroModal.init({ 
				325            onShow: window.setToOptOut 
				326        }); 
				327        AUI().ready(function() { 
				328            // user browser setting for Global Privacy Control to opt out of sharing information with third parties 
				329            const isBrowserGpcOptOut = navigator.globalPrivacyControl; 
				330            if(isBrowserGpcOptOut === true) { 
				331            window.californiaOptOut(); 
				332            } 
				333        }); 
				334    </script> 
				335    <!-- END CALIFORNIA OPT-OUT MODAL LOGIC --> 
				336 
				337</#if>