Во время обработки запрошенного шаблона произошла ошибка...      
 Range start index 0 is out of bounds, because the sliced string has only 0 character(s). (Note that indices are 0-based).
The blamed expression:
==> 0..underline  [in template "18771710#18771743#347743556" at line 44, column 77]
----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${.vars["reserved-article-title"].dat...  [in template "18771710#18771743#347743556" at line 44, column 38]
---- 1<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"  2   integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="  3   crossorigin=""/>  4<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"  5   integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="  6   crossorigin=""></script>  7<#assign dataInicial_Data = getterUtil.getString(dataInicial.getData())>  8<#if validator.isNotNull(dataInicial_Data)>  9	<#assign dataInicial_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataInicial_Data, locale)>  10    <#assign dataInicial = dateUtil.getDate(dataInicial_DateObj, "dd/MM/yyyy", locale)>  11</#if>  12  13<#assign dataFinal_Data = getterUtil.getString(dataFinal.getData())>  14<#if validator.isNotNull(dataFinal_Data)>  15	<#assign dataFinal_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataFinal_Data, locale)>  16    <#assign dataFinal = dateUtil.getDate(dataFinal_DateObj, "dd/MM/yyyy", locale)>  17</#if>  18  19<#if dataInicial == dataFinal >  20    <#assign sData =  dataInicial>  21<#else>  22    <#assign sData =  dataInicial + " - " + dataFinal>  23</#if>  24  25<#assign urlImatge = "">  26<#assign descImatge = "">  27<#assign entryIdImatge = "">  28<#if imatge.getData()?? && imatge.getData() != "">  29    <#assign urlImatge = imatge.getData()>  30    <#assign descImatge = imatge.getAttribute("alt")>  31    <#assign entryIdImatge = "data-fileentryid='" + imatge.getAttribute("fileEntryId") + "'">  32<#else>  33    <#if imatge.urlExterna?? && imatge.urlExterna.getData() != "">  34        <#assign urlImatge = imatge.urlExterna.getData()>  35    </#if>  36    <#if imatge.descImatgeExterna?? && imatge.descImatgeExterna.getData() != "">  37        <#assign descImatge = imatge.descImatgeExterna.getData()>  38    </#if>  39</#if>  40  41  42<h2 class="title my-4 text-left">  43	<#assign underline = (.vars['reserved-article-title'].data?length/3)?int>	  44    <span class="text-big-underline">${.vars['reserved-article-title'].data[0..underline]}</span>${.vars['reserved-article-title'].data[underline+1..]}  45</h2>  46  47<div class="row">  48    <#if urlImatge != "">  49        <div class="col-lg-5 col-12">  50    	    <img src="${urlImatge}" alt="${descImatge}" ${entryIdImatge} class="img-fluid"  />  51    	</div>		  52        <div class="col-lg-7 col-12">  53    <#else>  54         <div class="col-12">  55    </#if>   56            <div class="shadow border p-3 mb-4 text-left">  57                ${descripcio.getData()}  58            </div>  59    </div>  60</div>  61                  62<div class="row">  63    <div class="col text-left">  64        <p class="mb-1 mt-3">${mesInfo.getData()} </p>  65      66        <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.quan")}</h4>  67        <p class="mb-1"><b>${sData}</b></p>  68        <#if horari?? && horari.getData()?has_content>  69            <p class="mb-1">${horari.getData()}</p>  70        </#if>  71      72        <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.on")}</h4>    73        <#if nomLloc.getData()?has_content >  74            <p class="mb-1">${nomLloc.getData()}</p>  75        </#if>  76        <#if carrer.getData()?has_content >  77            <p class="mb-1"> ${carrer.getData()} </p>  78        </#if>   79        <p class="mb-1"><b>${municipi.getData()}</b></p>  80         81        82        <h4 class="mt-4">${languageUtil.get(locale, "turisme.agenda.mesInfo")}</h4>                83        <#if organitzador.getData()?has_content >  84            <p class="mb-1">${organitzador.getData()}</p>  85        </#if>  86        <#if telefon.getData()?has_content >  87            <p class="mb-1">Tel. ${telefon.getData() }</p>  88        </#if>  89        <#if entrada.getData()?has_content >  90            <p class="mb-1">${entrada.getData() }</p>  91        </#if>  92        <#if web.getData()?has_content >  93            <p class="mb-1"><a href="${web.getData()}" target="_blank">Web</a></p>  94        </#if>  95        <#list recursos.arxiu.getSiblings() as cur_arxiu>  96            <#assign urlDoc = "">  97            <#if cur_arxiu.getData()?? && cur_arxiu.getData() != "">  98                <#assign urlDoc = cur_arxiu.getData()>  99            <#else>  100                <#if cur_arxiu.urlExterna2?? && cur_arxiu.urlExterna2.getData() != "">  101                    <#assign urlDoc = cur_arxiu.urlExterna2.getData()>  102                </#if>  103            </#if>  104            <#if urlDoc != "">  105                <p class="mb-1"><a href="${urlDoc}" target="_blank">  106                    <#if cur_arxiu.titolAdjunt?? && cur_arxiu.titolAdjunt.getData()?has_content>  107                	    ${cur_arxiu.titolAdjunt.getData()}  108                	<#else>  109                		${languageUtil.format(locale, "download-x", "Arxiu adjunt", false)}  110                	</#if>  111                </a></p>  112            </#if>  113        </#list>  114    </div>  115</div>  116  117<#assign adjunts = false>  118<#if recursos.arxiu?? && recursos.arxiu.getSiblings()?has_content >  119    <#list recursos.arxiu.getSiblings() as cur_arxiu>  120        <#if cur_arxiu.getData()?has_content >  121            <#assign adjunts = true>  122            <#break>  123        </#if>  124    </#list>  125</#if>  126  127<#if adjunts >  128<div class="row">  129        <div class="col">  130        </div>  131</div>  132</#if>  133  134<div class="row">  135    <h4 class="col mt-4 text-left">${languageUtil.get(locale, "detail.mapa")}</h4>  136</div>  137<div class="row">  138    <div class="col-12">  139        <#assign journalArticleId = .vars["reserved-article-id"].data>  140		<div id="mapa_${journalArticleId}" class="embed-responsive embed-responsive-16by9"></div>    141        <#assign indicacions= languageUtil.get(locale,"agenda.indicacions") >  142        <script>  143			jQuery(document).ready(function() {  144			// Llista de cartografies.  145			var tiles = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {  146						  maxZoom: 18,  147						  attribution: "© Diputació de Barcelona"  148						}),  149			googleStreets = L.tileLayer("https://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&hl=ca", {  150						  maxZoom: 20,  151						  subdomains: ["mt0", "mt1", "mt2", "mt3"],  152						  attribution: "© Diputació de Barcelona"  153						});  154			// Punt central del mapa.  155			var latlng = L.latLng(${latitud.getData()},${longitud.getData()});  156			  157			var map_google = L.map("mapa_${journalArticleId}", {center: latlng, zoom: 15, layers: [googleStreets]});  158			<#assign marcador="<a href='${web.getData()}' target='_blank'>${.vars['reserved-article-title'].data}</a><br/>${nomLloc.getData()}<br/><a href='https://www.google.es/maps/place/${latitud.getData()},${longitud.getData()}'  target='_blank'>${indicacions}</a> " >  159			L.marker([${latitud.getData()},${longitud.getData()}]).addTo(map_google).bindPopup("${marcador}");  160			});  161            </script>  162    </div>  163</div>  
