PageSourceSearch

https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/

html wiltshiretimes.co.uk collected 2026-09-24 19:33:22 UTC 284,109 bytes, 4,380 lines download raw bytes

1<!-- standard - CustomHeader-Site.html --> <!DOCTYPE html>
2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
3<head>
4    
5    <link rel="preconnect" href="https://d2zv5rkii46miq.cloudfront.net" />
6    <link rel="preconnect" href="https://visitanalytics.userreport.com" />
7    <link rel="preconnect" href="https://a02342.wiltshiretimes.co.uk" />
8    <link rel="preconnect" href="https://securepubads.g.doubleclick.net" />
9    <link rel="preconnect" href="https://cdn.adsafeprotected.com" />
10    <link rel="preconnect" href="https://micro.rubiconproject.com" />
11    <link rel="preconnect" href="https://experience.tinypass.com" />
12    <link rel="preconnect" href="https://c.amazon-adsystem.com" />
13    <link rel="preconnect" href="https://tpc.googlesyndication.com">
14    <link rel="preconnect" href="https://pagead2.googlesyndication.com">
15    <link rel="preconnect" href="https://www.googletagservices.com">
16    <link rel="preconnect" href="https://cdn.ampproject.org">
17    <link rel="preconnect" href="https://securepubads.g.doubleclick.net">
18
19    <title>Aldi wins approval for major store extension in Trowbridge | Wiltshire Times</title>
20
21    <meta charset="utf-8">
22    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1">
23    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
24    <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" />
25    <meta name="robots" content="max-image-preview:large">
26    <meta name="format-detection" content="telephone=no">
27
28    
28<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["*"]},session_trace:{sampling_rate:0.0,mode:"FIXED_RATE",enabled:true,error_sampling_rate:0.0},performance:{capture_marks:false,capture_detail:false,capture_measures:true},browser_consent_mode:{enabled:false},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1134382346",accountID:"962803",trustKey:"962803",xpid:"XQAFWVZQGwIAXFhTAAYBVFI=",licenseKey:"fd15ff24ac",applicationID:"1089177626",browserID:"1134382346"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
29(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
29e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
29const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
29if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
29o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
29(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
29;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
29{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
29ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
29{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
29null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
29dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
29imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
29return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
29!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
29if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
29);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
29class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
29h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
29
30    	<meta property="fb:pages" content="" />
31	<meta property="og:article:author" content="Peter Davison" />
32<link rel="canonical" href="https://www.gazetteandherald.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/" />
33	<meta name="keywords" content=""/>
34	<meta name="parsely-title" content="Aldi wins approval for major store extension despite neighbour concerns"/>
35	<meta name="parsely-post-id" content="26574471"/>
36	<meta name="description" content="Budget supermarket Aldi has been given planning permission for a major extension at one of is Wiltshire stores."/>
37	<meta name="title" content="Aldi wins approval for major store extension despite neighbour concerns"/>
38	<meta name="medium" content="news"/>
39	<meta name="twitter:description" content="Budget supermarket Aldi has been given planning permission for a major extension at one of is Wiltshire stores."/>
40	<meta name="twitter:title" content="Aldi wins approval for major store extension despite neighbour concerns"/>
41	<meta name="twitter:card" content="summary_large_image"/>
42	<meta name="cXenseParse:contentlevel" content="1"/>
43	<meta name="cXenseParse:articleid" content="26574471"/>
44	<meta itemprop="description" content="Budget supermarket Aldi has been given planning permission for a major extension at one of is Wiltshire stores." />
45	<meta itemprop="name" content="Aldi wins approval for major store extension despite neighbour concerns" />
46	<meta property="og:description" content="Budget supermarket Aldi has been given planning permission for a major extension at one of is Wiltshire stores." />
47	<meta property="og:name" content="Aldi wins approval for major store extension despite neighbour concerns" />
48	<meta property="fb:app_id" content="130067583730996" />
49	<meta property="og:type" content="article" />
50	<meta property="og:title" content="Aldi wins approval for major store extension despite neighbour concerns" />
51	<meta name="twitter:image:src" content="https://www.wiltshiretimes.co.uk/resources/images/21490924/"/>
52	<meta itemprop="image" content="https://www.wiltshiretimes.co.uk/resources/images/21490924/" />
53	<meta property="og:image:height" content="630" />
54	<meta property="og:image:width" content="945" />
55	<meta property="og:image" content="https://www.wiltshiretimes.co.uk/resources/images/21490924.jpg?type=og-image&xType=0&yType=134" />
56	<meta property="og:site_name" content="Wiltshire Times" />
57	<meta property="og:url" content="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/" />
58	<meta property="og:article:published_time" content="2026-09-23T13:00:00Z" />
59
60<script type="application/ld+json">
61{
62    "@context": "http://schema.org",
63    "@type": "NewsArticle",
64    "headline": "Aldi wins approval for major store extension in Trowbridge",
65    "datePublished": "2026-09-23T13:00:00Z",
66    
67    "dateModified": "2026-09-23T17:16:16Z",
68    
69    "articleSection": "news",
70    "mainEntityOfPage": "https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/",
71    "url": "https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/",
72    "isBasedOn": "https://www.gazetteandherald.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/",
73    "author": {
74        "@type": "Person",
75        "name": "Peter Davison"
76    },
77    "image": {
78        "@type": "ImageObject",
79        "url": "https://www.wiltshiretimes.co.uk/resources/images/21490924.jpg/",
80        "width": 1280,
81        "height": 720
82    },
83    "publisher": {
84        "@type": "Organization",
85        "name": "Wiltshire Times",
86        "logo": {
87            "@type": "ImageObject",
88             "url": "https://www.wiltshiretimes.co.uk/resources/images/sitelogo/",
89             "width": "385",
90             "height": "91"
91        }
92    },
93    "keywords": ["article_types:news","topics:planning-and-development","topics:business","topics:local-government","locations:wiltshire:trowbridge-wiltshire","free_tags:organisations:businesses:aldi","free_tags:organisations:local-government:planning-applications","free_tags:organisations:local-government:wiltshire-council","content-level:1","source:newsquest"]
94}
95</script>
95
96
97
98
99
100
101
102
103
104    <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-7-serif-vars.css?r=mkW8NyPe" rel="stylesheet" type="text/css">
105
106    <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=mkW8NyPe" rel="stylesheet" type="text/css">
107
108    <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/blockarticle.css?r=mkW8NyPe" rel="stylesheet" type="text/css">
109
110    
111
112    <link rel="shortcut icon" href="/resources/images/17416060/" type="image/vnd.microsoft.icon">
113    <link rel="icon" href="/resources/images/17416060/" type="image/vnd.microsoft.icon">
114
115        
115<script>
116        window.startExec = performance.now();
117    </script>
117
118
119    
119<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 119
119
120<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 120
120
121<script type="text/javascript" src="/resources/shared/responsive-sync/?r=mkW8NyPe"></script>
121
122
123<script type="text/javascript">
124    data_layer_helper.setIsArticle(true);
125    data_layer_helper.setCookieDomain('.wiltshiretimes.co.uk');
126    data_layer_helper.setModuleType('BlockArticleModule');
127    data_layer_helper.setLocalInfoFolder('');
128    data_layer_helper.setHomesData('', '', '', 'news');
129    data_layer_helper.setPrimaryDomain('www.wiltshiretimes.co.uk');
130    data_layer_helper.setPath('/news/');
131    data_layer_helper.setGoogleNetworkCode('154725070');
132    data_layer_helper.setArticleTimestamp('1790164800');
133    data_layer_helper.setPathOverride();
134
135
136    var extraTags = [];
137    
138        extraTags.push('user_level_anonymous');
139    
140
141    var data_layer = {
142        environment: {
143            is_test_site: 'no',
144            is_live_site: 'yes',
145            is_paywall_site: 'yes',
146            is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no',
147            is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes',
148            is_mobile_device: data_layer_helper.getMobileDevice(),
149            is_tablet_device: data_layer_helper.getTabletDevice(),
150            server: 'webapp-66cb74b878-kx6bp',
151            platform: 'Martini'
152        },
153        site: {
154            id: '59',
155            comments_subscriber_only: 'no',
156            viafoura_site_id: '00000000-0000-4000-8000-025e86496ab0',
157            comments_use_viafoura: 'yes',
158            centre_id: '12',
159            centre_name: 'Wiltshire',
160            country: 'England',
161            name: 'Wiltshire Times',
162            name_with_prefix_capitalised_possessive: 'The Wiltshire Times\'',
163            name_with_prefix_lower_possessive: 'the Wiltshire Times\'',
164            domain: 'www.wiltshiretimes.co.uk',
165            editor_name: 'Daniel Chipperfield',
166            onboarding_enabled: 'no',
167            onboarding_flow_id: 'onboarding_disabled',
168            allowing_mr_replacement: 'no',
169            cookie_domain: '.wiltshiretimes.co.uk',
170            uses_cmp: 'yes',
171            short_domain: 'wiltshiretimes',
172            using_piano_id: 'yes',
173            enable_skimlinks: 'yes',
174            skimlinks_domain_id: '613824',
175            disable_newsletters: 'no',
176            is_archant_site: 'no',
177            shc_merchant_name: '',
178            piano_application_group: 'TertiaryAppHigher',
179            piano_site_name: 'Wiltshire Times',
180            piano_site_name_possessive: 'Wiltshire Times\'',
181            piano_site_name_with_prefix_lower: 'the Wiltshire Times',
182            piano_site_name_with_prefix_capitalised: 'The Wiltshire Times',
183            piano_site_name_with_prefix_capitalised_possessive: 'The Wiltshire Times\'',
184            piano_site_name_with_prefix_lower_possessive: 'the Wiltshire Times\'',
185            piano_location_primary: 'Trowbridge',
186            piano_location_primary_possessive: 'Trowbridge\'s',
187            piano_location_county: 'Wiltshire',
188            piano_location_county_possessive: 'Wiltshire\'s',
189            piano_primary_sports_team: '',
190            piano_primary_sports_team_nickname: '',
191            piano_primary_sports_team_sport: '',
192            piano_primary_sports_team_possessive: '',
193            piano_primary_sports_team_nickname_possessive: '',
194            piano_self_service_cancellation_setting: 'All',
195            has_app: 'yes',
196            app_provider: 'pagesuite',
197            app_platform: 'pagesuite-hybrid',
198            app_store_url_ios: 'https://apps.apple.com/gb/app/the-wiltshire-times/id6476305243',
199            app_store_url_google_play: 'https://play.google.com/store/apps/details?id=uk.co.newsquest.wiltshiretimes'
200        },
201        page: {
202            module: 'BlockArticleModule',
203            referrer: data_layer_helper.getReferrerHostName(),
204            name: '(www) ' + data_layer_helper.getOmniturePath(),
205            title: document.title,
206            path: data_layer_helper.getOmniturePath(),
207            section: data_layer_helper.getPathFragment(0),
208            subsection: data_layer_helper.getPathFragment(1),
209            subsection_2: data_layer_helper.getPathFragment(2),
210            subsection_3: data_layer_helper.getPathFragment(3),
211            reference: qs.get('ref'),
212            layout: 'BAM Standard Article',
213            ad_timing: data_layer_helper.getCookie('adtiming'),
214            template_namespace: 'standard',
215            template: '',
216            colour_scheme: '',
217            layout_template: 'BAM Standard Article',
218            mds_font: 'serif',
219            user_used_app_last_24hours: '',
220            user_used_app_last_7days: '',
221            user_used_app_last_14days: '',
222            mds_colour_palette: 'palette-7',
223            feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no',
224            feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'),
225            is_article_list: 'no',
226            error_404: '',
227            top_stories_article_count: '',
228            interstitial_dedupe_top_stories: '',
229            interstitial_desktop_height: '',
230            interstitial_mobile_height: '',
231            interstitial_tablet_height: '',
232            interstitial_piano_module_id: '',
233            interstitial_using_recommendations: '',
234            interstitial_recommendation_header: '',
235            interstitial_article_count: '',
236            news_stories_article_count: '',
237            site_newspaper_archive_enabled: 'no',
238            site_newspaper_archive_number_of_pages: '',
239            site_newspaper_archive_start_year: 0,
240            article_originates_from_this_site: 'no',
241            article_originates_from_site: 'The Wiltshire Gazette and Herald',
242            article_originates_from_url: 'https://www.gazetteandherald.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/'
243        },
244        user: {
245            id: '',
246            first_name: '',
247            advertising_experience: 'Ad-Full',
248            is_privacy_plus: 'no',
249            is_alist: 'no',
250            level: data_layer_helper.getCookie('nq_ul'),
251            seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no',
252            given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no',
253            consent_string: data_layer_helper.getConsentString(),
254            type: 'anonymous',
255            parsely_type: 'Anonymous',
256            chartbeat_type: 'anon',
257            type_as_int: '1',
258            is_logged_in: 'no',
259            is_admin: 'no',
260            is_internal_admin: '',
261            has_full_admin_link_permissions: '',
262            has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no',
263            comments_verified: '',
264            comments_verified_date: '',
265            user_email_is_verified: '',
266            user_email_is_verified_date: '',
267            mobile_number_is_verified: '',
268            mobile_number_is_verified_date: '',
269            user_needs_email_verification: '',
270            user_needs_mobile_verification: '',
271            user_too_many_requests: '',
272            age_decade:  '0' ,
273            gender:  'u' ,
274            is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no',
275            hash: '',
276            lr_hash_1: '',
277            lr_hash_2: '',
278            lr_hash_3: '',
279            gender:  'u' ,
280            user_decade:  '0' ,
281            subscription_plan: '',
282            subscription_tier: 'null',
283            subscription_plan_and_frequency: ' - ',
284            commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no',
285            time_since_last_visit: 'not implemented (maybe drop)',
286            device: data_layer_helper.getDevice(),
287            using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(),
288            admin_user_name: '',
289            is_admin_internal: '',
290            is_admin_external: '',
291            card_expired: '',
292            card_will_expire: '',
293            expires_urgency: '',
294            abandoned_cart: 'no',
295            subscription_expired: 'no',
296            is_archant_site: 'no',
297            signed_up_primary_news_newsletter: 'no',
298            signed_up_primary_sport_newsletter: 'no',
299            played_free_puzzles_last_7days: '',
300            played_paid_puzzles_last_7days: '',
301            commenter_badge: '',
302        },
303        analytics: {
304            hierachy: 'newsquest,Wiltshire,www.wiltshiretimes.co.uk,' + data_layer_helper.getPathFragment(3).replace(/\//,','),
305            link_filters: 'javascript:,wiltshiretimes.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,',
306            tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''),
307            tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''),
308            previous_page_name: data_layer_helper.getCookie('nq_prev_page'),
309            advert_id: '',
310            position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''),
311            featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')),
312            account: data_layer_helper.getAccount()
313        },
314        chartbeat: {
315            enabled: "no",
316            id: "",
317            domain: "",
318            sections: 'article_types:news,topics:planning-and-development,topics:business,topics:local-government,locations:wiltshire:trowbridge-wiltshire,free_tags:organisations:businesses:aldi,free_tags:organisations:local-government:planning-applications,free_tags:organisations:local-government:wiltshire-council,content-level:1,source:newsquest'
319        },
320        parsely: {
321            enabled: "yes",
322            site_id: "wiltshiretimes.co.uk",
323            type: 'Anonymous'
324        },
325        piano: {
326            tags: data_layer_helper.getPianoTags({
327                      piano_domain: 'wiltshiretimes',
328                      piano_master: '',
329                      breaking_news: false,
330                      editorial_opinion: false,
331                      free_subscriber: false,
332                      free_subscriber: false,
333                      has_video: false,
334                      is_article: true,
335                      article_content_level : '1',
336                      article_content_level_open_access: false,
337                      picture_gallery_id: false,
338                      user_is_newsquest: false,
339                      user_is_entra_authenticated: false,
340                      user_logged_in: false,
341                      is_live_article: false,
342                      why_free_subscriber: '',
343                      extra_tags: extraTags,
344                      is_covid_headline: false,
345                      is_covid_body: false,
346                      is_alist: false,
347                      audio_provider_bytecast: false
348                  }
349            ),
350            custom_variables: {
351                article_length: 'l',
352                application_group: 'TertiaryAppHigher',
353                content_is_editorial_opinion: 'no',
354                base_url: 'https://www.wiltshiretimes.co.uk',
355                full_url: document.location.href,
356                mds_font: 'serif',
357                mds_colour_palette: 'palette-7',
358                site_name: 'Wiltshire Times',
359                site_name_possessive: 'Wiltshire Times\'',
360                site_name_with_prefix_capitalised: 'The Wiltshire Times',
361                site_name_with_prefix_lower: 'the Wiltshire Times',
362                site_name_with_prefix_capitalised_possessive: 'The Wiltshire Times\'',
363                site_name_with_prefix_lower_possessive: 'the Wiltshire Times\'',
364                location_primary: 'Trowbridge',
365                location_primary_possessive: 'Trowbridge\'s',
366                location_county: 'Wiltshire',
367                location_county_possessive: 'Wiltshire\'s',
368                site_has_primary_sports_team: 'no',
369                primary_sports_team: '',
370                primary_sports_team_nickname: '',
371                primary_sports_team_sport: '',
372                primary_sports_team_possessive: '',
373                primary_sports_team_nickname_possessive: '',
374                site_id: '59',
375                content_level: '1',
376                content_author: 'Peter Davison',
377                content_id: '26574471',
378                content_is_article: 'yes',
379                content_primary_topic: 'Planning and development',
380                user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no',
381                site_section: data_layer_helper.getPathFragment(0, true),
382                article_published_yyyy: '2026',
383                user_played_free_puzzles_last_7days: '',
384                user_played_paid_puzzles_last_7days: '',
385                anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(),
386                home_delivery_phone_number: '0800 953 0227',
387                content_is_restricted: data_layer_helper.getRestrictedContent('1', '57', '57', ''),
388                day_of_week: data_layer_helper.getDayOfWeek(),
389                user_card_expired: '',
390                user_card_will_expire: '',
391                user_expires_urgency: '',
392                user_used_app_last_24hours: '',
393                user_used_app_last_7days: '',
394                user_used_app_last_14days: '',
395                user_subscription_tier: 'null',
396                user_is_newsquest: 'no',
397                primary_news_newsletter_id: '768',
398                primary_news_newsletter_name: 'the Morning Briefing',
399                primary_news_newsletter_description: 'The latest stories, in your inbox every morning.',
400                primary_sport_newsletter_id: '769',
401                primary_sport_newsletter_name: 'the Sports AM',
402                primary_sport_newsletter_description: 'Keep up to date with the latest sport headlines.',
403                user_signed_up_primary_news_newsletter: 'no',
404                user_signed_up_primary_sport_newsletter: 'no',
405                newsletter_auto_promote: 'public_notice',
406                newsletter_auto_promote_name: '',
407                newsletter_auto_promote_description: '',
408                newsletter_auto_promote_ID: '',
409                site_has_app: 'yes',
410                site_app_store_url_ios: 'https://apps.apple.com/gb/app/the-wiltshire-times/id6476305243',
411                site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=uk.co.newsquest.wiltshiretimes',
412                subsets_experiment_id: '',
413                site_section1: data_layer_helper.getPathFragment(1, true), // GBL required
414                site_newspaper_archive_enabled: 'no',
415                site_newspaper_archive_number_of_pages: '',
416                site_newspaper_archive_start_year: 0,
417                article_originates_from_this_site: 'no',
418                article_originates_from_site: 'The Wiltshire Gazette and Herald',
419                article_originates_from_url: 'https://www.gazetteandherald.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/'
420            },
421            native_variables: {
422                setContentCreated: '2026-09-23T13:00:00',
423                setContentIsNative:  'no',
424                setContentAuthor: 'Peter Davison',
425                setContentSection: data_layer_helper.getPathFragment(0, true)
426            }
427        },
428        article: {
429            cscore:'',
430            showing_preview: '',
431            is_article: data_layer_helper.isArticle() ? 'yes' : 'no',
432            id : '26574471',
433            length_type: 'l',
434            character_count: '3598',
435            author: 'Peter Davison'.toLowerCase(),
436            e_var15: 'none|use author profile|peter davison'.toLowerCase(),
437            context: 'Business',
438            content_level: '1',
439            content_level_open_access: 'no',
440            content_level_combined: '1,metered,no',
441            content_is_restricted: data_layer_helper.getRestrictedContent('1', '57', '57', ''),
442            increment: (data_layer_helper.isArticle()) ? '+1' : '',
443            sponsor: '',
444            contributions: '0',
445            is_sponsored: 'no',
446            headline: 'Aldi wins approval for major store extension despite neighbour concerns',
447            age: data_layer_helper.getArticleAge(),
448            upload_date: '',
449            publish_date: '23/09/2026',
450            update_date: '',
451            rating: '20',
452            source: data_layer_helper.getSource(''),
453            subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '',
454            context: 'Business',
455            grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '',
456            allow_comments: 'no',
457            total_comments: '0',
458            originating_site_id: '57',
459            parent_article_site_id: '',
460            parent_article_id: '',
461            originating_article_id: '26574471',
462            parent_originating_site_id: '57',
463            is_original_to_site: 'no',
464            is_cloned: 'no',
465            parent_article_url: 'https://www.gazetteandherald.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/',
466            use_skimlinks: 'no',
467            content_primary_topic: 'Planning and development',
468            taxonomy: {
469                article_types: 'news',
470                topics: 'planning-and-development,business,local-government',
471                sports: '',
472                sports_teams: '',
473                locations: 'wiltshire:trowbridge-wiltshire',
474                shared_content: '',
475                free_tags: 'organisations:businesses:aldi,organisations:local-government:planning-applications,organisations:local-government:wiltshire-council',
476                farming: ''
477            },
478            audio: {
479                has_audio: 'no',
480                provider: ''
481            },
482            article_comments_use_viafoura: 'yes'
483        },
484        homes: {
485            search_bedrooms_minimum: '',
486            search_location: 'news',
487            search_price_minimum: '',
488            search_price_maximum: '',
489            list: '',
490            id: ''
491        },
492        video: {
493            exists: 'no',
494            auto_play_enabled: data_layer_helper.getAutoPlay('no')
495        },
496        contributions: {
497            allow_text: '',
498            allow_image: '',
499            user_contributions_number: '0',
500            has_user_contributions: 'no'
501        },
502        search: {
503            keywords: qs.get('search'),
504            results: ''
505        },
506        announcements: {
507            category: ''
508        },
509        config: {
510            google_analytics_id: 'UA-54396341-7',
511            site_template_set: 'standard',
512            path: '/news/',
513            top_level_section: 'news',
514            polar_property_id: 'NA-WILT-11238095',
515            gallery_show_advert_after: '5',
516            disable_outbrain_with_ad_light: 'no',
517            disable_outbrain: 'no'
518        },
519        dfp: {
520            is_landing: 'no',
521            module_path: 'news',
522            weather_band: '11-15',
523            weather_summary: 'sun'.toLowerCase(),
524            id: data_layer_helper.getGoogleId(),
525            display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop',
526            can_show_billboard: (window.screen.width > 960) ? 'y' : 'n'
527        },
528        dates: {
529            date: (new Date()).toLocaleDateString('en-GB'),
530            hour: (new Date()).getHours(),
531            day: data_layer_helper.getDayOfWeek(),
532            weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday'
533        },
534        memorials: {
535            contact_phone_number: '',
536            contact_email_address: '',
537            publications: JSON.parse('' || '[]'),
538            user: {
539                id: '',
540                email_verified: 'no',
541                type: ''
542            },
543            funeral_director: {
544                id: '',
545                person_urn: ''
546            }
547        }
548    }
549
550    data_layer_helper.storeCurrentPageName(data_layer.page.name);
551
552    window.dispatchEvent(new Event('data-layer-loaded'))
553
554      data_layer.piano.custom_variables.user_used_app_last_24hours = 'no';
555      data_layer.piano.custom_variables.user_used_app_last_7days = 'no';
556      data_layer.piano.custom_variables.user_used_app_last_14days = 'no';
557  if (data_layer.article.is_article !== 'yes') {
558      data_layer.piano.custom_variables.site_module = 'BlockArticleModule';
559      data_layer.piano.custom_variables.puzzles_landing_page = 'no';
560      data_layer.piano.custom_variables.puzzles_display_page = 'no';
561  }
562</script>
562
563 
564<script
565  src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js"
566  async
567></script>
567
568 
569
570<script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title="tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script>
570
571
572<script type = "text/javascript">
573( function () {
574
575    window._sp_ = {
576        config: {
577            baseEndpoint: 'https://a02342.wiltshiretimes.co.uk',
578            accountId: 52,
579            targetingParams:{
580                subscribed: false,
581                privacy: false
582            },
583            gdpr: { },
584            events: {
585                onMessageReady: function (message_type) {
586                    trackSPEvents('event76');
587                },
588                onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) {
589                    console.log('message_type: ', message_type);
590                    console.log('choice_id: ', choice_id);
591                    console.log('choice_type_id: ', choice_type_id);
592                    if ('yes' === 'yes') {
593                        if (choice_type_id === 12) {
594                            trackSPEvents('event83'); //Consent Banner Reject All
595                            trackSPEvents('event82'); //Journalism Message Shown
596                        }
597                        if (choice_type_id === 11) {
598                            trackSPEvents('event78');
599                        }
600                        if (choice_type_id === 9) {
601                            trackSPEvents('event77');
602                        }
603                    } else {
604                        // these are the second argument in non-gate
605                        if (choice_type_id === 12) {
606                            trackSPEvents('event77');
607                        }
608
609                        if (choice_type_id === 11) {
610                            trackSPEvents('event78');
611                        }
612
613                        if (choice_type_id === 13) {
614		                    trackSPEvents('event83');
615                        }
616                    }
617                },
618                onPrivacyManagerActionStatus: function(message_type, status, actionType) {
619                    console.log('message_type: ' + message_type);
620                    console.log('status: ' + status);
621                    console.log('actionType: ' + actionType);
622                    if ('yes' === 'yes') {
623                        if (actionType === 11) {
624                            trackSPEvents('event79'); //Privacy Manager Accept
625                        }
626                        if (actionType === 9) {
627                            trackSPEvents('event68'); //Privacy Manager Redirect
628                        }
629                        if (actionType === 1) {
630                            trackSPEvents('event75'); //Forced tcf String Change
631                        }
632                    } else {
633                    // these are the second argument in non-gate
634                        if (actionType === 13) {
635                            trackSPEvents('event81'); //Privacy Manager Reject
636                        }
637                        if (actionType === 11) {
638                            trackSPEvents('event79'); //Privacy Manager Accept
639                        }
640                        if (actionType === 1) {
641                            trackSPEvents('event80'); //Privacy Manager Save & Exit
642                        }
643                    }
644                },
645                onPMCancel: function (message_type) {
646                    console.log('onPMCancel', message_type);
647                    trackSPEvents('event84'); //Privacy Manager Back
648                },
649            }
650        }
651    }
652
653    if (typeof window.__tcfapi === 'function') {
654        window.__tcfapi('addEventListener', 2, function (tcData, success) {
655            console.log('SP: Event Listen:', tcData, success);
656            if (success && tcData.eventStatus === 'useractioncomplete') {
657                setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests);
658
659                var csnt = 'none';
660                if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
661                    csnt = 'yes';
662                } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
663                    csnt = 'no';
664                }
665                googletag.cmd.push(function() {
666                    // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt);
667                    googletag.pubads().setTargeting('dfpcsnt', csnt);
668                });
669                // ready to start DFP
670                // console.log('PIANO: setting unrestricted via useractioncomplete');
671                // runPiano('unrestricted');
672                startAdvertising(tcData.listenerId);
673
674                var e = new Event('launch:cmp:choice-made');
675                window.dispatchEvent(e);
676            } else if (success && tcData.eventStatus === 'tcloaded') {
677                // tcloaded means a valid TCF v2.0 string is available
678                // console.log('PIANO: setting unrestricted via tcloaded');
679                // runPiano('unrestricted');
680                if (tcData.gdprApplies === false) {
681                    $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.wiltshiretimes.co.uk', path: '/', expires: 100});
682                }
683                startAdvertising(tcData.listenerId);
684
685            } else if (success && tcData.eventStatus === 'useractionnotcomplete') {
686                // do nothing - this means the user has not made a choice yet
687            } else if (success && tcData.eventStatus === 'cmpuishown') {
688                // do nothing - this means the CMP UI has been shown
689            } else if (!success) {
690                // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.wiltshiretimes.co.uk', path: '/', expires: 100});
691                // startAdvertising();
692            } else {
693                // console.log('PIANO: setting restricted');
694                // runPiano('restricted');
695            }
696        });
697    }
698
699    
700
701    document.addEventListener('click', function (e) {
702        const option = e.target.closest('.gdpr-option-v2');
703
704        if (!option) return;
705
706        e.preventDefault();
707        sendEvent76 = false;
708
709        const id = option.dataset.v2Id;
710        const isGate = option.dataset.isGate;
711
712        if (isGate === 'yes') {
713            trackSPEvents('event87');
714            _sp_.gdpr.loadPrivacyManagerModal(id);
715        } else {
716            trackSPEvents('event77');
717            _sp_.gdpr.loadPrivacyManagerModal(id);
718        }
719    });
720
721    function getTcfData() {
722        if (typeof window.__tcfapi !== 'function') {
723            console.warn('TCF API unavailable');
724            return;
725        }
726        window.__tcfapi('addEventListener', 2, function(data, success) {
727            if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) {
728                // console.log('DFP: No TCF data found, not setting cookies');
729                return;
730            }
731            setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests);
732        }, [755]);
733    }
734    getTcfData();
735
736    function setTcfCookie(data, legitimateInterests) {
737        var consents = [];
738        $.each(data, function(id, consent)  {
739            var c = (consent === true) ? 'yes' : 'no';
740            consents.push(c)
741        });
742        // console.log('DFP: consents length: ', consents.length);
743        if (consents.length !== 10) {
744            // consents = consents.fill('no', consents.length, 10);
745            for (var i = consents.length; i < 10; i++) {
746                consents[i] = 'no';
747            }
748        }
749        // console.log('DFP: Found consents to store in cookie:', consents);
750        $.cookie('prev-tcf-v2', consents.join(','), {domain: '.wiltshiretimes.co.uk', path: '/', expires: 100});
751
752        var consentEvent4 = 'none';
753        if (typeof data[4] !== 'undefined') {
754            consentEvent4 = data[4] ? 'true' : 'false';
755        }
756        $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.wiltshiretimes.co.uk', path: '/', expires: 100});
757
758        var legitInterest = 'none';
759        if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') {
760            legitInterest = legitimateInterests[2] ? 'true' : 'false';
761        }
762
763        $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.wiltshiretimes.co.uk', path: '/', expires: 100});
764    }
765
766    var sendEvent76 = true;
767
768    function trackSPEvents(events) {
769        if (events === 'event76' && !sendEvent76) {
770            return;
771        } else if (events === 'event76') {
772            sendEvent76 = false;
773        }
774
775        if (typeof window.s !== 'object') {
776            // console.log('DFP: No window.s object found, trying again in 1 second');
777            window.setTimeout(function () { trackSPEvents(events)} , 1000);
778            return;
779        }
780
781        // console.log("ADB: Tracking %s", events);
782        // Re-create the Omniture object so the data can be tracked.
783        var s = window.s;
784
785        if (events.indexOf('event70') !== -1) {
786            // console.log('DFP: Events passed, added evars');
787            s.eVar35 = 'enabled';
788            s.prop35 = 'enabled';
789        }
790
791        s.events = events;
792        s.linkTrackEvents = events;
793        s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35";
794        s.suppressPageView = true;
795        s.tl(true,'o','Ad Block');
796    }
797
798    function startAdvertising(id)
799    {
800        if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) {
801            return;
802        }
803
804        // console.log("DFP: Is the page fully loaded?", window.googleReady);
805        if (window.googleReady !== true) {
806            window.setTimeout(function () {
807                // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again');
808                startAdvertising(id);
809            }, 250);
810            return;
811        }
812
813        // Ensure that we never run this code twice
814        if (window.advertisingStart === true) {
815            return;
816        }
817        // console.log('DFP: Running advertisement');
818        window.advertisingStart = true;
819
820        var googletag = window.googletag;
821        // init google objects and array
822        (function() {
823            var gads = document.createElement('script');
824            gads.async = true;
825            gads.type = 'text/javascript';
826            gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
827            var node = document.getElementsByTagName('script')[0];
828            node.parentNode.insertBefore(gads, node);
829        })();
830
831        // launch the exco slideshow player
832        launchExcoSlideshow();
833
834        // load facebook etc
835        loadSocials();
836
837        // Checking our decision to use headerbidding (shorterned as prebid) is correct
838        // via system logic, and that we have the simplified consent to do so
839        if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
840            var e = new Event('launch:sourcepoint:consentaccepted');
841            window.dispatchEvent(e);
842
843            // AP code initialisation
844            // the script is loaded via launch, once we have detected a consent signal via the datalayer.
845            fetchAp();
846
847            var site = 'desktop';
848            var _site = 'desktop';
849
850            // load IAS scripts and set up vars
851            (function() {
852                var ias = document.createElement('script');
853                ias.async = true;
854                ias.type = 'text/javascript';
855                ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js';
856                var node = document.getElementsByTagName('script')[0];
857                node.parentNode.insertBefore(ias, node);
858            })();
859
860            // load the prebid script
861            (function() {
862                var pbs = document.createElement('script');
863                pbs.async = true;
864                pbs.type = 'text/javascript';
865                pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest';
866                var node = document.getElementsByTagName('script')[0];
867                node.parentNode.insertBefore(pbs, node);
868            })();
869
870            // tell google to actually get the bids from all relevant vendors when loaded
871            googletag.cmd.push(function () {
872                fetchHeaderBids();
873            });
874        }
875
876        // Outbrain
877        if (
878            (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') ||
879            (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes')
880        ) {
881            // console.log("No Outbrain script loading due to page settings");
882        } else {
883            // console.log("Loading Outbrain");
884            var ob = document.createElement('script');
885            ob.async = true;
886            ob.type = 'text/javascript';
887            ob.src = 'https://widgets.outbrain.com/outbrain.js';
888            var node = document.getElementsByTagName('script')[0];
889            node.parentNode.insertBefore(ob, node);
890        }
891
892
893        // remove the listener
894        if (id !== null) {
895            window.__tcfapi('removeEventListener', 2, function (success) { }, id);
896        }
897    }
898
899    /**
900     * Wait until we have advertising consent to show this advertising
901     * based replacement for the single image on our article pages
902     * This logic is based on excoSlidshowPlayerID that only appears on the page
903     * if a user is NOT a subscriber (including privacy plus) and the page has the
904     * correct information to show it (doesn't have a video, not in sport etc)
905     */
906    function launchExcoSlideshow() {
907        const slideShowPlayerId = window.excoSlideshowPlayerId;
908        // if we do not have a player id, we do not need to do anything
909        if (!slideShowPlayerId) {
910            return;
911        }
912
913        // this is exco's supplied code, modified for our use
914        (function (d, s, n) {
915            fjs = d.getElementsByTagName(s)[0];
916            js = d.createElement(s);
917            js.className = n;
918            js.src = '//player.ex.co/player/' + slideShowPlayerId;
919            js.setAttribute('programmatic', 'true');
920	        js.onload = function () {
921                const playerApi = ExCoPlayer.connect(slideShowPlayerId);
922                playerApi.init({});
923
924                playerApi.on('player-load', function(data) {
925                    $('.mar-article-image').remove();
926                    if (window.screen.width > 800) {
927                        $('.article-hero').attr('style', 'order: 1');
928                    }
929                    window.hide_overlay_for_exco = true;
930                });
931            };
932            fjs.parentNode.insertBefore(js, fjs);
933        }(document, 'script', 'exco-player'));
934    }
935
936    function loadSocials()
937    {
938        const socials = [
939            'https://platform.twitter.com/widgets.js',
940            'https://connect.facebook.net/en_US/all.js#xfbml=1',
941            'https://www.tiktok.com/embed.js',
942        ];
943
944        socials.forEach((social) => {
945            var script = document.createElement('script');
946            script.src = social;
947            script.async = true;
948            document.getElementsByTagName('head')[0].appendChild(script);
949        });
950    }
951
952
953})();
954
955</script>
vendor: 1 bytes, line 955
955
956<script src="https://a02342.wiltshiretimes.co.uk/unified/wrapperMessagingWithoutDetection.js"></script>
956
957
958<script>
959window.usePiano = true;
960window.selectedOfferId = null;
961window.selectedTermId = null;
962</script>
vendor: 1 bytes, line 962
962
963<script>
964document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
965var setNptTechAdblockerCookie = function(adblocker) {
966    var d = new Date();
967    d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000);
968    document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/";
969}
970var script = document.createElement("script");
971script.setAttribute("async", true);
972script.setAttribute("src", "//www.npttech.com/advertising.js");
973script.setAttribute("onerror", "setNptTechAdblockerCookie(true);");
974document.getElementsByTagName("head")[0].appendChild(script);
975</script>
975
976
977<script>
978// window.pdl = window.pdl || {};
979// window.pdl.requireConsent = 'v2';
980
981// Store entry point unless it's a user or subscribe page
982// to redirect after subscription
983const excludedPaths = ['/user/', '/subscribe/'];
984
985const shouldExclude = excludedPaths.some(path =>
986  window.location.pathname.includes(path)
987);
988
989if (!shouldExclude) {
990  sessionStorage.setItem(
991    'last_piano_page_interacted_with',
992    window.location.pathname
993  );
994}
995
996tp = window.tp || [];
997
998function runPiano(restrictedMode) {
999    // console.log('Running Piano with restricted mode:', restrictedMode);
1000    // tp.push(['init', function() {
1001    //      console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose());
1002    // }]);
1003    // if (restrictedMode === 'restricted') {
1004    //     // If we're in restricted mode, we need to set some specific parameters
1005    //     tp.push(['init', function() {
1006    //         tp.consent.setAllPurposes('opt-out')
1007    //     }]);
1008    // } else {
1009    //     tp.push(['init', function() {
1010    //         tp.consent.setAllPurposes('opt-in')
1011    //     }]);
1012    // }
1013    // tp.push(['init', function() {
1014    //     console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose());
1015    // }]);
1016    // init Piano ID
1017    tp.push(['init', function() {
1018        tp.pianoId.init();
1019    }]);
1020
1021    const isGooglebot = window.isRobot.googleBot();
1022
1023    const isArticle = (data_layer.article.is_article === 'yes');
1024
1025    const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3);
1026
1027    if (isGooglebot) {
1028        // we don't load Piano from all non-article pages
1029        if (!isArticle) {
1030            return;
1031        }
1032
1033        // If we are on an article, we do not load piano on CL0, 1, or 2
1034        if (!isCl3) {
1035            return;
1036        }
1037    }
1038    Object.keys(data_layer.piano.custom_variables).forEach(function (k) {
1039        var v = data_layer.piano.custom_variables[k];
1040
1041        if (v != '') {
1042            tp.push(["setCustomVariable", k, v]);
1043        }
1044    });
1045
1046    Object.keys(data_layer.piano.native_variables).forEach(function (k) {
1047        var v = data_layer.piano.native_variables[k];
1048        if (v != '') {
1049            tp.push([k, v]);
1050        }
1051    });
1052
1053    tp.push(['setTags', data_layer.piano.tags]);
1054
1055   (function(src){
1056        var a=document.createElement("script");
1057        a.type = "text/javascript";
1058        a.async=true;
1059        a.src=src;
1060        var b=document.getElementsByTagName("script")[0];
1061        b.parentNode.insertBefore(a, b)
1062    })("//experience.tinypass.com/xbuilder/experience/load?aid=OxXcBE7Opu");
1063}
1064
1065// Init Piano
1066const debug = document.cookie
1067    .split('; ')
1068    .find(row => row.startsWith('debug='))
1069    ?.split('=')[1];
1070
1071tp.push(["setDebug", debug === '1']);
1072
1073tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']);
1074
1075tp.push(["setUsePianoIdUserProvider", true ]);
1076
1077tp.push(["addHandler", "loginRequired", function(params) {
1078    // If they're already signed in, we don't need to do anything special.
1079    if (tp.user.isUserValid()) {
1080        return;
1081    }
1082    if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) {
1083        console.log("TPL Called")
1084        tp.pianoId.show({
1085            screen: 'login',
1086            displayMode: 'modal',
1087            loggedIn: (data) => {
1088                pianoId.loggedIn();
1089            },
1090            loggedOut: () => {
1091                console.log('TP-TJ: user logged out');
1092            },
1093            registrationSuccess: () => {
1094                pianoId.registered();
1095            },
1096            width: '500px',
1097            height: '460px',
1098        });
1099    }
1100}]);
1101
1102tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) {
1103    if (typeof termDetails.termId !== 'undefined') {
1104        window.selectedTermId = termDetails.termId;
1105    }
1106}]);
1107
1108tp.push(["addHandler", "showTemplate", function (templateParams) {
1109    showPianoTarget(templateParams);
1110}]);
1111
1112tp.push(["addHandler", "showOffer", function (offerParams) {
1113    window.shownOffer = true;
1114
1115    // Store some data we might need later.
1116    if (typeof offerParams.offerId !== 'undefined') {
1117        window.selectedOfferId = offerParams.offerId;
1118    }
1119
1120    showPianoTarget(offerParams);
1121}]);
1122
1123function handleFullWidthBanner(selector) {
1124    if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') {
1125        document.querySelector(selector).classList.add(selector.replace('#', ''));
1126    }
1127    document.querySelector(selector).style.minHeight = "254px";
1128    document.querySelector('#subscription-content').style.display = 'none';
1129    document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; });
1130    document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; });
1131
1132    const block = document.querySelector(selector);
1133    const containerBlock = block.parentElement;
1134    const containerBlockHeight = 254; // to prevent abrupt jumping
1135
1136    if (!block) { return; }
1137
1138    block.style.display = 'block';
1139
1140    const blockRect = block.getBoundingClientRect();
1141    const startTop = blockRect.top + window.scrollY;
1142    const blockHeight = blockRect.height;
1143    const screenWidth = window.screen.width;
1144
1145    let lastState = ''; // 'top', 'bottom', 'default'
1146
1147    function getScrollbarWidth() {
1148        return window.innerWidth - document.documentElement.clientWidth;
1149    }
1150
1151    function updatePosition() {
1152        const scrollY = window.scrollY;
1153        const viewportHeight = window.innerHeight;
1154        const bottomTrigger = startTop + blockHeight - viewportHeight;
1155
1156        let newState = 'default';
1157
1158        if (scrollY > startTop && screenWidth >= 768) {
1159            newState = 'top';
1160        } else if (scrollY < bottomTrigger && screenWidth >= 768) {
1161            newState = 'bottom';
1162        } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) {
1163            newState = 'bottom-mobile';
1164        }
1165
1166        const scrollbarWidth = getScrollbarWidth();
1167
1168        if (newState !== lastState) {
1169            switch (newState) {
1170                case 'top':
1171                    block.style.position = 'fixed';
1172                    block.style.top = '0';
1173                    block.style.bottom = 'auto';
1174                    block.style.marginLeft = '0';
1175                    block.style.marginRight = '0';
1176                    containerBlock.style.minHeight = `${containerBlockHeight}px`;
1177                    break;
1178
1179                case 'bottom':
1180                    block.style.position = 'fixed';
1181                    block.style.bottom = '0';
1182                    block.style.top = 'auto';
1183                    block.style.marginLeft = '0';
1184                    block.style.marginRight = '0';
1185                    block.style.width = `calc(100vw - ${scrollbarWidth}px)`;
1186                    containerBlock.style.minHeight = 'unset';
1187                    break;
1188
1189                case 'bottom-mobile':
1190                    block.style.position = 'fixed';
1191                    block.style.bottom = '90px';
1192                    block.style.top = 'auto';
1193                    block.style.marginLeft = 'calc(-100vw + 100%)';
1194                    block.style.marginRight = 'calc(-100vw + 100%)';
1195                    containerBlock.style.minHeight = 'unset';
1196                    break;
1197
1198                default:
1199                    block.style.position = '';
1200                    block.style.top = '';
1201                    block.style.bottom = '';
1202                    block.style.width = `calc(100vw - ${scrollbarWidth}px)`;
1203                    block.style.marginLeft = '-100vw';
1204                    block.style.marginRight = '-100vw';
1205                    containerBlock.style.minHeight = 'unset';
1206                    break;
1207            }
1208
1209            lastState = newState;
1210        }
1211
1212        requestAnimationFrame(updatePosition);
1213    }
1214
1215    updatePosition();
1216    window.addEventListener('resize', updatePosition);
1217}
1218
1219function trackLocation(forceValidLocation = false) {
1220    var currentLocation = window.location.pathname;
1221
1222    let valid = false;
1223
1224    if (currentLocation.indexOf('puzzles') > -1) {
1225        valid = true;
1226    }
1227
1228    if (currentLocation.indexOf('pagesuite') > -1) {
1229        valid = true;
1230    }
1231
1232    var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/);
1233    if (articleMatch != null) {
1234        valid = true;
1235    }
1236
1237    if (forceValidLocation) {
1238        valid = true;
1239    }
1240
1241    if (currentLocation.indexOf('subscribe') > -1) {
1242        valid = false;
1243    }
1244
1245    if (!valid) {
1246        return;
1247    }
1248
1249    $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain});
1250}
1251
1252function trackPianoWithNewRelic(templateName) {
1253    if (this.newrelic && typeof this.newrelic === 'object') {
1254        newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName);
1255    }
1256}
1257
1258function handleOfferShow(params) {
1259    console.log('Piano params', params);
1260
1261    // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer.
1262    if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') {
1263        var offerId = location.search.match(/offer_id=([A-Z0-9]+)/);
1264        if (offerId !== null && offerId.length > 1) {
1265            offerId = offerId[1];
1266        }
1267        var termId = location.search.match(/term_id=([A-Z0-9]+)/);
1268        if (termId !== null && termId.length > 1) {
1269            termId = termId[1];
1270        }
1271        if (offerId !== null && termId !== null) {
1272            tp.offer.show({'termId': termId, 'offerId': offerId});
1273        }
1274    }
1275
1276    // we are only tracking
1277    var templateId = params.templateId;
1278    var variantId = params.templateVariantId;
1279    if (params.containerSelector !== '#po-inline-articlegate-fullarticle' &&
1280        params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' &&
1281        params.containerSelector !== '#po-inline-articlegate-partialarticle' &&
1282        params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below'
1283    ) {
1284        $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) {
1285            trackPianoSimplified(params, response.name);
1286        });
1287        return;
1288    }
1289
1290
1291    $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) {
1292        trackPiano(params, response.name);
1293    });
1294}
1295
1296function trackPiano(params, templateName) {
1297    trackPianoWithNewRelic(templateName);
1298
1299    if (typeof params.activeMeters === 'string') {
1300        activeMeters = JSON.parse(params.activeMeters);
1301    } else {
1302        activeMeters = params.activeMeters;
1303    }
1304
1305    var s = window.s;
1306    if (!s || !s.pageName) {
1307        // console.log("ADB: Setting s from backup");
1308        s = window.backupAdobe;
1309        window.s = s;
1310    }
1311
1312    // this would call when CL3 is a hard gate
1313    if (!activeMeters && data_layer.article.content_level === '3') {
1314        s.eVar59 = templateName;
1315        s.eVar58 = data_layer.article.content_level;
1316        s.events = "event91";
1317        s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events";
1318        s.linkTrackEvents="event91";
1319        s.tl(document, 'o', 'Metered Access Notice');
1320        s.events = '';
1321        return;
1322    }
1323
1324    if (!activeMeters) {
1325        return;
1326    }
1327
1328    var meterData = activeMeters[0];
1329
1330    var meterName = meterData.meterName.toLowerCase();
1331
1332    // track event 5
1333    if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') {
1334        s.eVar58 = data_layer.article.content_level;
1335        s.eVar80 = meterData.meterName + ',' +  meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews;
1336        s.eVar59 = templateName;
1337        s.events = "event5";
1338        s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events";
1339        s.linkTrackEvents="event5";
1340    } else {
1341        s.eVar80 = meterData.meterName + ',' +  meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews;
1342        s.eVar59 = templateName;
1343        s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events";
1344    }
1345    s.tl(document, 'o', 'Metered Access Notice');
1346    s.events = '';
1347
1348}
1349
1350/**
1351 * Just track the template name in 78 for non-article-interrupts/gates
1352 */
1353function trackPianoSimplified(params, templateName)
1354{
1355    trackPianoWithNewRelic(templateName);
1356
1357    var s = window.s;
1358    if (!s || !s.pageName) {
1359        // console.log("ADB: Setting s from backup");
1360        s = window.backupAdobe;
1361        window.s = s;
1362    }
1363    s.eVar78 = templateName;
1364    s.events = 'event90';
1365    s.linkTrackEvents="event90";
1366    s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events";
1367    s.tl(document, 'o', 'Piano Template');
1368}
1369
1370function raiseLaunchEvent(name) {
1371    var e = new Event('launch:piano:' + name);
1372    window.dispatchEvent(e);
1373}
1374
1375function removePianoToast() {
1376    setTimeout(() => {
1377        document.getElementById('po-overlay-toast-left').remove()
1378    }, 30000)
1379}
1380
1381function showPianoTarget(params) {
1382    handleOfferShow(params);
1383    trackLocation();
1384
1385    if ($(params.containerSelector).length > 0) {
1386        const displayType = $(params.containerSelector).attr('data-display');
1387
1388        if (displayType) {
1389            $(params.containerSelector).addClass(`shown-${displayType}`);
1390        } else {
1391            $(params.containerSelector).addClass('shown').show();
1392        }
1393
1394        if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) {
1395            $(params.containerSelector).show();
1396        }
1397
1398        if (
1399            params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' ||
1400            params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below'
1401        ) {
1402            handleFullWidthBanner(params.containerSelector);
1403        }
1404
1405        if ($(params.containerSelector) === '#po-inline-subscribe-page') {
1406            $(params.containerSelector).show();
1407        }
1408
1409        if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) {
1410            $('#po-inline-blocksystem-target-e').show();
1411            $('.piano-promo-container').show();
1412        }
1413
1414        if (params.containerSelector === '#po-overlay-toast-left') {
1415            removePianoToast()
1416        }
1417
1418        if (params.containerSelector === '#po-overlay-toast-main-navigation') {
1419            removePianoToast()
1420        }
1421
1422        if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') {
1423            $('#po-inline-articlegate-partialarticle').css('display', 'none');
1424        }
1425
1426        if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') {
1427            $('#po-inline-articlegate-fullarticle').css('display', 'none');
1428        }
1429
1430        if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') {
1431            $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none');
1432        }
1433    }
1434}
1435
1436tp.push(["addHandler", "checkoutComplete", function(conversion) {
1437    var s = window.s;
1438    s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event.
1439    s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event.
1440    s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount;
1441    s.linkTrackEvents = "event4,purchase";
1442    s.purchaseID = conversion.termConversionId;
1443    s.pageName = '(www) /subscribe/complete/';
1444    // wipe out errors
1445    s.eVar31 = '';
1446    s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID";
1447
1448    s.tl(true, 'o', 'Subscription');
1449
1450    $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain});
1451    $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain});
1452    raiseLaunchEvent('checkoutComplete');
1453
1454    // Clean Session Storage
1455    sessionStorage.removeItem('nq_selected_offer_id');
1456    sessionStorage.removeItem('nq_selected_term_id');
1457    sessionStorage.removeItem('nq_adobe_tracking_article_dimensions');
1458    sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions');
1459
1460    // Show Onboarding modal after subscription
1461    const lastPage = sessionStorage.getItem('last_piano_page_interacted_with');
1462    const baseUrl = lastPage || window.location.href;
1463
1464    const url = new URL(baseUrl, window.location.origin);
1465    url.searchParams.set('show-onboarding', 'yes');
1466
1467    setTimeout(() => {
1468        window.location.href = url.pathname + url.search;
1469    }, 2000);
1470}]);
1471
1472tp.push(["addHandler", "checkoutPaymentError", function(errorData) {
1473    var s = window.s;
1474    s.pageName = '(www) /subscribe/error/';
1475    s.eVar31 = errorData.message;
1476    s.tl(true, 'o', 'CheckoutPaymentError');
1477
1478    raiseLaunchEvent('checkoutPaymentError');
1479}]);
1480
1481tp.push(["addHandler", "checkoutError", function(errorData) {
1482    var s = window.s;
1483    s.pageName = '(www) /subscribe/error/';
1484    s.eVar31 = errorData.message;
1485    s.tl(true, 'o', 'CheckoutError');
1486    raiseLaunchEvent('checkoutError');
1487}]);
1488
1489tp.push(["addHandler", "startCheckout", function(options) {
1490    sessionStorage.setItem("nq_selected_offer_id", options.offerId);
1491    sessionStorage.setItem("nq_selected_term_id", options.termId);
1492
1493    if (!tp.user.isUserValid()) {
1494        window.location = '/user/create-account/subscribe/';
1495        return;
1496    }
1497
1498    var s = window.s;
1499    s.eVar2 = '(www) /subscribe/payment/';
1500    s.pageName = '(www) /subscribe/payment/';
1501    const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions');
1502    const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions');
1503    if (storedAdobeVisitingDimensions) {
1504        const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions);
1505        s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10;
1506        s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22;
1507        s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23;
1508        s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24;
1509    }
1510    if (storedAdobeArticleDimensions) {
1511        const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions);
1512        s.eVar10 = storedAdobeArticleDimensionsObj.eVar10;
1513        s.eVar15 = storedAdobeArticleDimensionsObj.eVar15;
1514        s.eVar22 = storedAdobeArticleDimensionsObj.eVar22;
1515        s.eVar23 = storedAdobeArticleDimensionsObj.eVar23;
1516        s.eVar24 = storedAdobeArticleDimensionsObj.eVar24;
1517        s.eVar25 = storedAdobeArticleDimensionsObj.eVar25;
1518    }
1519    // wipe out errors
1520    s.eVar31 = '';
1521    s.events = '';
1522    raiseLaunchEvent('startCheckout');
1523    s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25";
1524    s.t();
1525}]);
1526
1527tp.push(["addHandler", "checkoutClose", function(conversion) {
1528    raiseLaunchEvent('checkoutClose');
1529
1530    // Did they abandon the cart? If so: was anything in their cart?
1531    if (typeof conversion.state === 'undefined' || conversion.state !== 'close') {
1532        return;
1533    }
1534    if (window.selectedOfferId === null || window.selectedTermId === null) {
1535        return;
1536    }
1537    $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId});
1538}]);
1539
1540tp.push(["addHandler", "meterExpired", function(meterData){
1541    var msg = "<div><b>meterName:</b> " + meterData.meterName
1542        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1543        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1544        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1545        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1546        + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>';
1547    if ($.cookie('nq-show-piano-viewer') === 'yes') {
1548        $('#piano-meter-value').html(msg);
1549        $('#piano-meter-display').show();
1550        $('#piano-meter-display-content').append(msg);
1551    }
1552    var cVal = window.location.href;
1553
1554    trackLocation(true);
1555
1556    console.log("Piano Meter Expired:", meterData.meterName);
1557    if (meterData.meterName === 'CL1 Meter') {
1558        console.log("Piano: Setting meter expired cookie");
1559        $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1560    }
1561
1562    raiseLaunchEvent('meterExpired');
1563
1564}]);
1565
1566tp.push(["addHandler", "meterActive", function(meterData){
1567    var msg = "<div><b>meterName:</b> " + meterData.meterName
1568        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1569        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1570        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1571        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1572        + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>';
1573    if ($.cookie('nq-show-piano-viewer') === 'yes') {
1574        $('#piano-meter-value').html(msg);
1575        $('#piano-meter-display').show();
1576        $('#piano-meter-display-content').append(msg);
1577    }
1578
1579    console.log("Piano Meter running total:", meterData.meterName,  meterData.totalViews, meterData.maxViews, meterData);
1580    if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) {
1581        $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1582    } else {
1583        $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1584    }
1585}]);
1586
1587
1588
1589runPiano('unrestricted');
1590
1591</script>
1591
1592
1593
1594
1595
1596    
1596<script type='text/javascript'>
1597    var googletag = googletag || {};
1598    googletag.cmd = googletag.cmd || [];
1599    var iasDataHandler, __iasPET = __iasPET || {};
1600    __iasPET.queue = __iasPET.queue || [];
1601    __iasPET.pubId = '931298';
1602
1603    var pbjs = pbjs || {};
1604    pbjs.que = pbjs.que || [];
1605
1606    var carbonRealtime = JSON.parse(window.localStorage.getItem('ccRealtimeData'));
1607    var ozoneSettings = {};
1608    var ozoneTargeting = {
1609        carbon_segment: carbonRealtime ? carbonRealtime.audiences.map(x => (x.id)) : []
1610    };
1611
1612
1613    function isMobile() {
1614        if (window.screen.width < 728) {
1615            return true;
1616        }
1617        return false;
1618    }
1619    var usePrebid = true;
1620    var whiteList = false;
1621    var adLight = false;
1622    
1623    
1624    var blackListAds = [];
1625
1626    if (usePrebid) {
1627        // disable initial load so prebid can do its stuff
1628        // console.log('DFP: Disabling initial load');
1629        googletag.cmd.push(function() {
1630            // console.log('DFP: Disabling initial load - read by DFP');
1631            googletag.pubads().disableInitialLoad();
1632        });
1633    }
1634    </script>
1634
1635
1636    
1636<script>
1637
1638    /**
1639     * Adds key-values to page level of Google Publisher Tag
1640     * @example
1641     * addKeyValuesToGPT({"ap_a": ["1100"], "ap_x": ["134123"]})
1642     * @param {Object} keyValues
1643     */
1644     function addAsKeyValuesToGPT(keyValues) {
1645        if (!googletag.pubads) {
1646            googletag.cmd.push(function () {
1647                addAsKeyValuesToGPT(keyValues);
1648            });
1649            return;
1650        }
1651        for (const key in keyValues) {
1652            if (Object.hasOwnProperty.call(keyValues, key)) {
1653                const value = keyValues[key];
1654                googletag.pubads().setTargeting(key, value);
1655            }
1656        }
1657    }
1658
1659    function onAudienceProjectDataAvailable(dataResponse) {
1660        console.log("AudienceProject data returned", dataResponse);
1661
1662        // in keyValues there are full-reach key-values created, they needs to be sent to GAM and added to Prebid adform ad-units
1663        if (dataResponse.keyValues) {
1664            addAsKeyValuesToGPT(dataResponse.keyValues);
1665        }
1666    }
1667
1668    function fetchAp() {
1669        AudienceProjectData.fetch('saknewsquest', {
1670            integrateWithCmp: true,
1671            waitForCmpConsent: true
1672        }, onAudienceProjectDataAvailable);
1673    }
1674
1675
1676    </script>
1676
1677
1678
1679<script>
1680        if (typeof gs_channels === 'undefined') {
1681            gs_channels = "";
1682        }
1683        rpx_init = ({
1684            qry         : 'https://www.wiltshiretimes.co.uk',
1685            section     : 'news',
1686            site        : 'www.wiltshiretimes.co.uk',
1687            context     : 'Business',
1688            weather     : 'sun'.toLowerCase(),
1689            temp        : '11-15',
1690            gs_channels : gs_channels,
1691            age         :  '0' ,
1692            gender      :  'u' ,
1693            nqd         : '' // intentionall blank
1694        });
1695    </script>
1695
1696    
1696<script type='text/javascript' src='https://pagead2.googlesyndication.com/pagead/imgad?id=CICAgKDLqv_TbRABGAEoATIIgOw1LHg7xnFAt-_HogU'></script>
1696
1697    
1697<script>
1698
1699    var bidTimeout = 1200;
1700    window.unfilteredAdUnits = [{"sizes":[1,1],"alternate_mobile_size":"","slotType":"outofpage","domName":"DFP_out_of_page","positionName":"out_of_page","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_article_fluid_1","positionName":"article_fluid_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[1,1],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_in_article_pixel","positionName":"in_article_pixel","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[["fluid"],[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_mpu","positionName":"in_article_mpu","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297386","rubicon_mobile_zone_id":"297372","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550690","appnexus_mobile_placement_id":"10550767","criteo_desktop_placement_id":"744410","criteo_mobile_placement_id":"760447","use_amazon":true,"groupm_desktop_placement_id":"17307157","groupm_mobile_placement_id":"17479445"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_2","positionName":"in_article_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"437846","rubicon_mobile_zone_id":"459754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550691","appnexus_mobile_placement_id":"10550769","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17279602","groupm_mobile_placement_id":"17479441"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_teads","positionName":"teads","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"11775143","appnexus_mobile_placement_id":"11775143","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_3","positionName":"in_article_3","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425700","rubicon_mobile_zone_id":"449752","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550692","appnexus_mobile_placement_id":"10550770","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307086","groupm_mobile_placement_id":"17479442"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_outstream_2","positionName":"outstream_2","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_4","positionName":"in_article_4","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425702","rubicon_mobile_zone_id":"449754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550693","appnexus_mobile_placement_id":"10550771","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307083","groupm_mobile_placement_id":"17479443"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_5","positionName":"in_article_5","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425704","rubicon_mobile_zone_id":"449756","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550695","appnexus_mobile_placement_id":"10550773","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307155","groupm_mobile_placement_id":"17479444"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_6","positionName":"in_article_6","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425709","rubicon_mobile_zone_id":"449757","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550698","appnexus_mobile_placement_id":"10550775","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307158","groupm_mobile_placement_id":"17479446"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_7","positionName":"in_article_7","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425710","rubicon_mobile_zone_id":"449758","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550699","appnexus_mobile_placement_id":"10550776","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307159","groupm_mobile_placement_id":"17479447"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_8","positionName":"in_article_8","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425711","rubicon_mobile_zone_id":"449759","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550700","appnexus_mobile_placement_id":"10550777","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307160","groupm_mobile_placement_id":"17479448"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu","positionName":"premium_mpu","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297382","rubicon_mobile_zone_id":"331020","rubicon_desktop_size_ids":["10","15"],"rubicon_mobile_size_ids":["10","15"],"appnexus_desktop_placement_id":"10550686","appnexus_mobile_placement_id":"10550760","criteo_desktop_placement_id":"744494","criteo_mobile_placement_id":"760443","use_amazon":true,"groupm_desktop_placement_id":"14304603","groupm_mobile_placement_id":"16550455"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu_2","positionName":"premium_mpu_2","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_1","positionName":"standard_mpu_1","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297390","rubicon_mobile_zone_id":"331024","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550683","appnexus_mobile_placement_id":"10550759","criteo_desktop_placement_id":"744435","criteo_mobile_placement_id":"760547","use_amazon":true,"groupm_desktop_placement_id":"17946307","groupm_mobile_placement_id":"13260893"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_on_scroll","positionName":"on_scroll","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_2","positionName":"standard_mpu_2","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"331028","rubicon_mobile_zone_id":"534778","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550687","appnexus_mobile_placement_id":"10550761","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375910","groupm_mobile_placement_id":"17375922"},{"sizes":[[970,250],[728,90]],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_top_leaderboard","positionName":"top_leaderboard","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297380","rubicon_mobile_zone_id":"297370","rubicon_desktop_size_ids":["2","57"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550668","appnexus_mobile_placement_id":"10550747","criteo_desktop_placement_id":"985648","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"14304608","groupm_mobile_placement_id":"17479428"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_1","positionName":"leaderboard_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425706","rubicon_mobile_zone_id":"449748","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550688","appnexus_mobile_placement_id":"10550762","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"16550485","groupm_mobile_placement_id":"17479427"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_2","positionName":"leaderboard_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425708","rubicon_mobile_zone_id":"449750","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550689","appnexus_mobile_placement_id":"10550766","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375905","groupm_mobile_placement_id":"16550500"},{"sizes":[728,90],"alternate_mobile_size":[[300,100],[320,50]],"slotType":"standard","domName":"DFP_bottom_leaderboard","positionName":"bottom_leaderboard","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297378","rubicon_mobile_zone_id":"425710","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550678","appnexus_mobile_placement_id":"10550748","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17377997","groupm_mobile_placement_id":"17479454"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_interstitial_mpu","positionName":"interstitial_mpu","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[468,60],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_banner","positionName":"banner","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297374","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":["1"],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"10550697","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[280,130],[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_high_vis","positionName":"high_vis","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"985647","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""}];
1701
1702    
1703    var adUnits = [];
1704    $.each(unfilteredAdUnits, function (i, ad) {
1705        if (isMobile()) {
1706            f = {standard_mpu_1: 1, standard_mpu_2: 1, leaderboard_1: 1, leaderboard_2: 1}
1707        } else {
1708            f = {leaderboard_1: 1, leaderboard_2: 1}
1709        }
1710
1711        if (f[ad.positionName] !== 1) {
1712            adUnits.push(ad);
1713        }
1714    });
1715    window.unfilteredAdUnits = adUnits;
1716    
1717
1718    //whenever you want header bids call this function
1719    function fetchHeaderBids() {
1720        //Load the APS JavaScript Library
1721        !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js");
1722        //Initialize the Library
1723        apstag.init({
1724            pubID: '3147',
1725            adServer: 'googletag',
1726            schain: {
1727                complete: 1, // Integer 1 or 0 indicating if all preceding nodes are complete
1728                ver: '1.0', // Version of the spec used
1729                nodes: [ // Can be empty if the owner of the site is creating this request
1730                    {
1731                        asi: '1xl.co.uk', // Populate with the canonical domain of the advertising system where the seller
1731.JSON file is hosted
1732                        sid: '0017', // The identifier associated with the seller or reseller account within your advertising system
1733                        hp: 1, // 1 or 0, whether this node is involved in the payment flow
1734                    }
1735                ]
1736            }
1737        });
1738        // console.log("DFP: Fetching headerbids");
1739        // new prebid implementation
1740        var apstagSlots = [];
1741
1742        getPETRequest();
1743
1744        $.each(unfilteredAdUnits, function(i, unit) {
1745            if (unit.isVast) {
1746                return;
1747            }
1748
1749            if(unit.use_amazon) {
1750                var awsSizes = [];
1751                var sizes = null;
1752                // work around poor data format
1753                if (unit.alternate_mobile_size && isMobile()) {
1754                    sizes = unit.alternate_mobile_size;
1755                } else {
1756                    sizes = unit.sizes;
1757                }
1758
1759                if (typeof sizes[0] === 'object') {
1760                    $.each(sizes, function (k, v) {
1761                        awsSizes.push(v);
1762                    });
1763                } else {
1764                    awsSizes = [sizes];
1765                }
1766                var amazonSlot = {
1767                    slotID: unit.domName,
1768                    sizes: awsSizes,
1769                };
1770                apstagSlots.push(amazonSlot);
1771            }
1772        });
1773
1774        // TODO 1
1775        var bidders = ['a9', 'prebid', 'ias'];
1776
1777        // create a requestManager to keep track of bidder state to determine when to send ad server
1778        // request and what apstagSlots to request from the ad server
1779        var requestManager = {
1780            adserverRequestSent: false,
1781            adSlots: [],
1782        };
1783
1784        //loop through bidder array and add the bidders to the request manager:
1785        bidders.forEach(function(bidder) {
1786            requestManager[bidder] = false;
1787        })
1788
1789
1790        // a helper function that returns googletag objects corresponding to the slotIDs in the slot objects
1791        function _getGPTSlots(apstagSlots) {
1792            // get all of the slot IDs that were requested
1793            var slotIDs = apstagSlots.map(function(slot) {
1794                return slot.slotID;
1795            });
1796
1797            // return the slot objects corresponding to the slotIDs
1798            return googletag.pubads().getSlots().filter(function(slot) {
1799                // return true if the ID of the slot object is in the slotIDs array
1800                return slotIDs.indexOf(slot.getSlotElementId()) > -1;
1801            });
1802
1803        }
1804
1805        function getPETRequest() {
1806            googletag.cmd.push(function() {
1807                // read the currently defined GPT ad slots for sending to the PET endpoint
1808                // defined all GPT ad slots before calling PET
1809                var gptSlots = googletag.pubads().getSlots();
1810                var iasPETSlots = [];
1811                for (var i = 0; i < gptSlots.length; i++) {
1812                    var sizes = gptSlots[i].getSizes().map(function(size) {
1813                    if (size.getWidth && size.getHeight)
1814                        return [size.getWidth(), size.getHeight()];
1815                    else
1816                        return [1, 1];
1817                    });
1818                    iasPETSlots.push({
1819                        adSlotId: gptSlots[i].getSlotElementId(),
1820                        //size: can either be a single size (for example, [728, 90])
1821                        // or an array of sizes (for example, [[728, 90], [970, 90]])
1822                        size: sizes,
1823                        adUnitPath: gptSlots[i].getAdUnitPath()
1824                    });
1825                }
1826                    // wait for IAS to return data
1827                var iasDataHandler = function(adSlotData) {
1828                    headerBidderBack('ias');
1829                };
1830
1831                // make the request to PET. if your page makes multiple ad requests to DFP
1832                // (for example, lazily loaded ads, infinite scrolling pages, etc.), make
1833                // a request to PET before every request to DFP
1834                __iasPET.queue.push({
1835                    adSlots: iasPETSlots,
1836                    dataHandler: iasDataHandler
1837                });
1838            });
1839        }
1840
1841
1842        // return true if all bidders have returned
1843        function allBiddersBack() {
1844            var allBiddersBack = bidders
1845                // get the booleans from the object
1846                .map(function(bidder) {
1847                    return requestManager[bidder];
1848                })
1849                // get rid of false values - indicates that the bidder has responded
1850                .filter(Boolean)
1851                // if length is equal to bidders, all bidders are back
1852                .length === bidders.length;
1853            return allBiddersBack;
1854        }
1855
1856
1857        // handler for header bidder responses
1858        function headerBidderBack(bidder) {
1859            // console.log("DFP: headerBidderBack called with", bidder);
1860
1861            if (typeof bidder === 'object') {
1862                requestManager.adSlots = bidder;
1863                bidder = 'prebid';
1864            }
1865
1866            // return early if request to adserver is already sent
1867            if (requestManager.adserverRequestSent === true) {
1868                return;
1869            }
1870            // flip bidder back flag
1871            if (bidder === 'a9') {
1872                requestManager.a9 = true;
1873            } else if (bidder === 'prebid') {
1874                requestManager.prebid = true;
1875            } else if (bidder === 'ias') {
1876                requestManager.ias = true;
1877            }
1878
1879            // if all bidders are back, send the request to the ad server
1880            if (allBiddersBack()) {
1881                sendAdserverRequest();
1882            }
1883        }
1884
1885        // actually get ads from DFP
1886        function sendAdserverRequest() {
1887            // console.log("DFP: All bidders back");
1888            // return early if request already sent
1889            if (requestManager.adserverRequestSent === true) {
1890                return;
1891            }
1892
1893            if (typeof window.prebidReady === 'undefined') {
1894                window.prebidReady = performance.now();
1895            }
1896
1897            if (window.googleReady) {
1898                // flip the boolean that keeps track of whether the adserver request was sent
1899                requestManager.adserverRequestSent = true;
1900                // flip pbjs boolean to signal to pbjs the ad server has already been called
1901                pbjs.adserverCalled = true;
1902
1903                //flip boolean for adserver request to avoid duplicate requests
1904                requestManager.sendAdserverRequest = true;
1905
1906                // make ad request to DFP
1907                googletag.cmd.push(function() {
1908                    window.executionSet = performance.now();
1909                    apstag.setDisplayBids();
1910                    __iasPET.setTargetingForGPT();
1911                    // console.log("DFP: Refresh called, setting adslots to ", requestManager.adSlots);
1912                    if (requestManager.adSlots.length > 0){
1913                        googletag.pubads().refresh(requestManager.adSlots);
1914                    } else {
1915                        googletag.pubads().refresh();
1916                    }
1917                    setPerformanceCookie();
1918                });
1919            } else {
1920                window.setTimeout(function() {
1921                    sendAdserverRequest(true);
1922                }, 200);
1923            }
1924        }
1925
1926
1927        function requestBids(apstagSlots, bidTimeout) {
1928            // fetch apstag bids, set bid targting, then call headerBidderBack
1929            // to get the ads for the first time
1930            apstag.fetchBids({
1931                slots: apstagSlots,
1932                timeout: (bidTimeout - 200)
1933            }, function(bids) {
1934                headerBidderBack('a9');
1935            });
1936
1937
1938            var edktAudiences;
1939
1940            // Here we fetch audiences which the user has been placed in.
1941            try {
1942                edktAudiences = JSON.parse(localStorage.getItem('edkt_matched_audience_ids') || '[]')
1943                    .slice(0, 100)
1944                    .map(String);
1945            } catch (e) {
1946                edktAudiences = [];
1947            }
1948
1949            // request bids from prebid
1950            pbjs.que.push(function() {
1951                // console.log("DFP: PBJS request bids called");
1952                pbjs.rp.requestBids({
1953                    callback: headerBidderBack,
1954                    data: {
1955                        airgrid: {
1956                            perid: edktAudiences
1957                        },
1958                        ozoneSettings,
1959                        ozoneTargeting
1960                    },
1961                });
1962            });
1963        }
1964
1965        //requestBids
1966        requestBids(apstagSlots, bidTimeout)
1967
1968        // set timeout to send request to call sendAdserverRequest() after timeout
1969        // if all bidders haven't returned before then
1970        window.setTimeout(function() {
1971            sendAdserverRequest();
1972        }, bidTimeout);
1973    };
1974
1975    function setPerformanceCookie() {
1976        var start = window.startExec;
1977        var prebidReady = window.prebidReady - start;
1978        var domComplete = window.domComplete - start;
1979        var googleComplete = window.googleComplete - start;
1980        var finished = window.executionSet - start;
1981
1982        /*    var cVal = Math.round(prebidReady) + ':' +
1983                   Math.round(domComplete) + ':' +
1984                   Math.round(googleComplete) + ':' +
1985                   Math.round(finished); */
1986        var cVal = Math.round(finished);
1987        var t = new Date();
1988        t.setMilliseconds(t.getMilliseconds() + 600000);
1989
1990        $.cookie('adtiming', cVal, {path: '/', domain: '.wiltshiretimes.co.uk', expires: t});
1991    }
1992</script>
vendor: 1 bytes, line 1992
1992
1993<script>
1994    if (adLight !== true) {
1995        /*level: light trigger: api ts: 1790262961710*/
1996!function(){const e=document.createElement("script");e.async=!0,e.id="aOKxmMlf",e.setAttribute("data-sdk","wp-l/1.1.11"),e.setAttribute("data-cfasync","false"),e.setAttribute("nowprocket",""),e.setAttribute("src","https://html-load.com/api.js"),e.setAttribute("charset","UTF-8"),e.setAttribute("onload","(async()=>{var e,t,r,o,a,n,s,i,l=function(o,a){for(e=a||o.length,t='',r=0;r<e;r++)t+=o[683*(r+249)%e];return t},c=l('hKlnkeslm .rlil statOPocrdC weals ei e '+' . ioa notea os',54),d=l('enm&%Z2JJQWl=r&Ie?ioDQrbGBgYmrr=tv=ad3WNsIVw0Voedn'),h=l('pdrrmr/mrscettthooaeeo-//o:orp..trrlp'),m=l('msPoier'),w=l('cotrelet&rrgre_/mdp.lhoprr?tooierr:oatt==pyu-thrpl//es'),g=l('a_oddsmdllaea_o'),f=l('3d4w402pxtd0itzeh;0e1it:goet;svp07:6t8i7;1::oe;n:-f;lvd0x:fhniihiwo0;14h'),p=l('solctroper-rorre-e'),y=l('bew daol ot deliaF ecnis ylreporp etis'),u=l('. et to iaaaewPssild l enl');try{o=e=>{try{confirm(c)?S.href=a+'?url='+s(S.href)+'&error='+s(e)+'&domain='+n:S.reload()}catch(t){location.href=a+d+n}},a=h,n='html-load.com',s=btoa;const e=window,t=e[m],r=document,l=e=>new t((t=>{const r=.1*e,o=e+Math.floor(2*Math.random()*r)-r;setTimeout(t,o)})),v=e.addEventListener.bind(e),_=e.postMessage.bind(e),b='message',S=location,I=Math.random,M=clearInterval,C='setAttribute';i=async e=>{try{if(location.hostname.endsWith('index.hr')&&accountService.UserHasPremium())return}catch(y){}try{localStorage.setItem(S.host+'_fa_'+s('last_bfa_at'),Date.now().toString())}catch(u){}setInterval((()=>{r.body&&(r.body.remove(),r.body.innerHTML='')}),100);const i=await fetch(w+s(S.href)+'&error='+s(e)+'&request_id='+s(Math.random().toString().slice(2)),{method:'POST'}).then((e=>e.text())),l=new t((e=>{v('message',(t=>{t.data===g&&e()}))}));let c=r.createElement('iframe');c.src=a+'?url='+s(S.href)+'&eventId='+i+'&error='+s(e)+'&domain='+n,c[C]('style',f);const d=e=>{p===e.data&&(c.remove(),removeEventListener('message',d))};v('message',d),r.documentElement.appendChild(c);const h=new t(((t,r)=>{l.then(t),setTimeout((()=>r(e)),3e3)})),m=setInterval((()=>{if(!r.contains(c))return M(m);(()=>{const e=c.getBoundingClientRect();return'none'!==getComputedStyle(c).display&&0!==e.width&&0!==e.height})()||(M(m),o(e))}),1e3);await h};const P=()=>new t(((e,t)=>{let r=I().toString(),o=I().toString();v(b,(e=>e.data===r&&_(o,'*'))),v(b,(t=>t.data===o&&e())),_(r,'*')})),x=async()=>{try{let e=!1;const t=I().toString(),r=new MessageChannel;if(r.port1.onmessage=r=>{const o=r.data;o&&'as_res_v1'===o.type&&o.key===t&&(e=!0)},_({type:'as_req_v1',key:t},'*',[r.port2]),await P(),await l(500),r.port1.close(),e)return!0}catch(e){}return!1},E=[100,500,1e3],T=s('_bfa_message'+location.hostname);for(let o=0;o<=E.length&&!await x();o++){if(window[T])throw window[T];if(o===E.length-1)throw y+n+u+n;await l(E[o])}}catch(v){try{await i(v)}catch(_){o(v)}}})();"),e.setAttribute("onerror","(async()=>{var e,t,r,o,n,a,i,l,c=function(o,n){for(e=n||o.length,t='',r=0;r<e;r++)t+=o[1871*(r+684)%e];return t},s=c('nkeslm .rlil statOPocrdC weals ei e '+' . ioa notea oshKl',54),d=c('ViI&3Wv2rmBdQ0?srdQtZmnGeDweN=aJ=%YebooVIWl=Jr&gnr'),h=c('rr:acr./hmpretmroosd.-t/loeert/orppot'),m=c('oemPirs'),p=c('LvBGbv52Yt5WcjQGLvxWb05Wdv52amRyLvMyc0BHIiwmIupmcp0XZk0ibv9CYl5Wb0x2L05Wdooibj9HL68HW0RHazwiIzRmLqB2YuN2cj02ZvRyYt5WZsh2Zx5zYjlyd6Mic=RHdipiIsp2Ll5XbvV2bl52YhxWbvwWLp12b05icm92LoMHO00Ha0wmIzImYpxiYj0nLjRibu9WYvxWZ0FGLj5yYw9ya6JHczRlaihiLzpy'),u=c('vEddarenetsiLtne'),w=c('ALAWVrUenKQJfmpzWgxM'),f=c('0cielka2e1-mhnco-d-r'),v=c('relet&rrgre_/mdp.lhoprr?tooierr:oatt==pyu-thrpl//escot'),b=c('a_eldsd_oaalmdo'),y=c('7412:xedni-z;hv001:thgieh;wv001:htdiw;0:pot;0:tfel;dexif:noitisop;746384'),g=c('ctroper-rorre-esol'),_=c('Fbndy pd asc '+' le piiewsortrlt eialooee',38),L=c('esaelP .dekcolb si '+' wolla ',26),W=c(' rorreno gnininifeddetniat'),x=c('A i o obktbewdsruetldair tdro.sfcme ic'),E=c('axpsjeia/trvttc');try{o=e=>{try{confirm(s)?M.href=n+'?url='+i(M.href)+'&error='+i(e)+'&domain='+a:M.reload()}catch(t){location.href=n+d+a}},n=h,a='html-load.com',i=btoa;const e=window,t=document,r=e[m],c=JSON.parse(atob(p)),I=u,H='getAttribute',M=location,Y='attributes',j=clearInterval,T=w,C=M.hostname,z=e.addEventListener.bind(e),O='__sa_'+window.btoa(window.location.href),R=window[O]||{},S=R.Element_setAttribute||Element.prototype.setAttribute,A=()=>{const t=e=>{let t=0;for(let r=0,o=e.length;r<o;r++){t=(t<<5)-t+e.charCodeAt(r),t|=0}return t},r=Date.now(),o=1e3*60*10,n=r-r%o,a=n-o,i=n+o,l=f,c='as_'+n/o%10+t(C+l+'_'+n),s='as_'+a/o%10+t(C+l+'_'+a),d='as_'+i/o%10+t(C+l+'_'+i);if(c===s||c===d||s===d)return!1;const h=e=>{try{return e.s==e}catch(t){}return!1};return h(e[c])||h(e[s])||h(e[d])};if(l=async e=>{try{if(C.endsWith('index.hr')&&accountService.UserHasPremium())return}catch(p){}try{localStorage.setItem(M.host+'_fa_'+i('last_bfa_at'),Date.now().toString())}catch(u){}setInterval((()=>{t.body&&(t.body.remove(),t.body.innerHTML='')}),100);const l=await fetch(v+i(M.href)+'&error='+i(e)+'&request_id='+i(Math.random().toString().slice(2)),{method:'POST'}).then((e=>e.text())),c=new r((e=>{z('message',(t=>{t.data===b&&e()}))}));let s=t.createElement('iframe');s.src=n+'?url='+i(M.href)+'&eventId='+l+'&error='+i(e)+'&domain='+a,S.call(s,'style',y);const d=e=>{g===e.data&&(s.remove(),removeEventListener('message',d))};z('message',d),t.documentElement.appendChild(s);const h=new r(((t,r)=>{c.then(t),setTimeout((()=>r(e)),3e3)})),m=setInterval((()=>
1996{if(!t.contains(s))return j(m);(()=>{const e=s.getBoundingClientRect();return'none'!==getComputedStyle(s).display&&0!==e.width&&0!==e.height})()||(j(m),o(e))}),1e3);await h},void 0===e[T]&&(e[T]=0),e[T]>=c.length)throw _+a+L+a;if(A())return;const P=t.querySelector('#aOKxmMlf'),B=t.createElement('script'),Z=R.EventTarget_addEventListener||EventTarget.prototype[I],k=i(C+'_onload2'),J=i(C+'_onerror2'),N=R.HTMLElement_onerror||Object.getOwnPropertyDescriptor(HTMLElement.prototype,'onerror');Object.defineProperty(P,'onerror',{get(){return N.get.call(this)},configurable:!0});const D=P.onerror;if(P.onerror=()=>{},D!=P.onerror)throw W;for(let o=0;o<P[Y].length;o++){const r=P[Y][o].name,n=P[Y][o].value;'src'!=r&&(S.call(B,r,n),'onload'!=r||B[H](r)==n||e[k]||(e[k]=function(){const e=t.createElement('script');e.innerText=n,t.head.appendChild(e),e.remove()}),'onerror'!=r||B[H](r)==n||e[J]||(e[J]=function(){const e=t.createElement('script');e.innerText=n,t.head.appendChild(e),e.remove()}))}const G=new r((e=>setTimeout(e,100*Math.pow(2,window[T])+Math.floor(11*Math.random())-5)));e[k]&&Z.call(B,'load',e[k]),e[J]&&Z.call(B,'error',e[J]),await G;const Q=c[e[T]++];if(S.call(B,'src',Q),B[H]('src')!==Q)throw x;S.call(B,'type',E),S.call(P,'id',P[H]('id')+'_'),P.parentNode?P.parentNode.insertBefore(B,P):t.head.appendChild(B),P.remove()}catch(I){try{await l(I)}catch(H){o(I)}}})();"),document.head.appendChild(e);const t=document.createElement("script");t.setAttribute("data-cfasync","false"),t.setAttribute("nowprocket",""),t.innerText="(()=>{var e,r,t,c,n=(t,c,n)=>{for(c=c||t.length,n=n||c,e='',r=0;r<n;r++)e+=t[8513*(r+7)%c];return e};const a=['H0','ga','m9','EU','sI','pA','ax','xR','cS','A3','m7','iR','cv','tw','cB','nW','oj','o1','p2','cJ','yr','AP','qD','rX','jJ','zr'],o=[32,33,34,35,37,38,40,41,42,43,44,45,46,47,58,59,60,61,62,63,91,93,95,123,124,125],p=['ny','id','nz','dy','Bg','il','Bi','wa','nt','AM','uc','pc','om','iy'],D=[32,40,41,44,46,47,59,61,62,91,93,123,124,125];c=(e,r,t,c)=>{for(let n=r-1;n>=0;n--)e=e.split(t[n]).join(String.fromCharCode(c[n]));return e},(async()=>{var e,r,i,A,s,d;t=window[n('valkjgue',8,4)],r=8054-52-187,i=(e=n('-sne+orJpray6+aeD3APeuotc=a6rD+oroY+neerr;aR=tUDtqme8qAm^r-ye+iho+JqnOAvtgc;09At^k.pc)vcEUcrn;eH*^clqE:vW7h(o6d-n-hcnYkthj:em(Fxo6B=sdsXqtZq..;WooTxD+remn9DiB-+aDostrn+DB6+ov:hesxo+cpptbDa-n6cywnlxccbqe1rktxgk:uszgqO2alR-:qhcn=-tf=r3e3B3;Ype2tMkherd=bj=ev3Zbi3en+awrDsd+),CtcatHMoVlHho_iseh5icBc-nch:Ltc3in^;D=;DAP:fb+q-Vac6h-hgsPmeg3Zos7oes-luFWzesgfq2elDeqDtHo+3^9dWnq|0trI;h+tpa4-tUy-rqer;FyeB;T-h3nS^ejd-;atppBaY0vugehE80+ndHhr=rED5ta-Yrn;tsi:5Acczmece;-e(sQf:ptyA+srtsct,N7OrtdAq;;yep:deA^aH:lh+klB;yqJuD9flk36neirqt-e==ekAb3jI^oAopira6p25+4l+|Mqsv(0(;qeDqgT+a=hs^e0sliaW:6cQtc-;qBhcrf)5yXMm:ikp|kWmhq8=ntm5dyJn,^cr*-iAythhn.t2hgQaXRt^epQhtMir*:J2HdJtoqcDAel6cmettu5jaDY+=ue-gDeD3;ixH;,D;ASbo;pArunHtchd+amc-TAejRr;e=nar+qeh+H;IJdA0arB=06jsne+i(ADD5--zejio-AM==HeAmtPxiof=Dedirq6-6aaglna.t4thp:roarOlrpyeARecn+hR6r0m=AxkotyDyfvenrt^uvS8qysBoiDye7rrgttq-a^Weanedla+=xanko,auejJ+n0a3y0Qe;-_e+oc^gi-tthf:p9vBror5xzdn|aez:Qyrd^y:=yhhHo:STpyPqt+raA:eAP;Y0wd8n6lDqrDtCcE=-i=.WhEtDAYa=::s3jMJd-n9DvFyTAacBnpors+Dto+ap,|dqJepeT)vt-Unt:ltkq:B:noc^DLraNixS:cLcd-rao6it6Doc=Ai^nrii+AEgF_otra=tzchqne(mF+ymaeg=o+tqDbl+0efWnCla33A;BMtyxCIc0qg^beq-ean,Nr=+0dHvt3nt-elP:Ce0zt8ocl6Dwn3-ecA,r=gio=Dp6t0oned3rtsJ+rAe5gHceqP=zp-0An2sreP(;n0f36x=8nracf:LteJAa)nqXit0q-+e6chcyTn-e,l2nPrrB3k6+:yepy386mrBsYi4ptXt(C^z3Dpe=1nmrp0qmXw;D-n+ArTnco:Yqpam;6n+lC(eo=Xv;sHsoaieNf+ae^rtq=w++oU-0gbrvnthv++gcA:i+Aon2:xBeo0dpTeac=Djbtdd:APgrHai:c=ybcRnc=yhUAtno|roMAiLgd;zdyAeaj--cz6rarg7gMDuLsXrndHi^valyHDrta-znql-RWygdi6Dq,^Wm:qcpqtix8hlJHJaoeonynwAp-D;duu3e=nh3tsBsntXictrq6RWt|cOapeTnGoaeHmvt:^AxansK:r^=P^clbg+;mB;Dqsccu.td+HoXceav0Tn=:oa=y+acwOreT4DDsny3=icv3ls)etr:ialcict:oeuh5ItX9n(x0=lD-=h7enp+cqaAcqrWye^e*;nn+qJel^HarZYHQDpRRzDc^nsBvnr+ugtHan3geqnD6lcsr+oB=uyay,apn;oevpp=,o6qed;,gone0mAntnpNd=ZvN3t4ytDQYat:dh+;|cv-Bwt50Xrd-yoeY+Cc-eJ:jrhcqA-aFea+nsT+=eJAofzPm3N:8zqdreu^x^5pqJ9AyoePpXX0YdiBcraNoaw;Bas3lnyo+oaPnrn:xDv23ctJp-arrXYXe:e+rlaezc;a0di4EMY0oe;ckjWJJ-Ifrypo:oJ+notgDwaDiMewQo.tpt+pprrdrZ3,=gjmstA;
1996g6q+-L5=renBpc|inz+t5sxeskd+j+h0rToaor:q3t:ygcn-FEf9-c:aivamtdBe:Os+0dh5=STtqWtsasc+=pDHK=de+=eXWrsoctt^M5HpHBsnieJ+DeJ4:C:HGcH-W|Va:dyn;xp:WUnJDg3Jk-oYrp;N+-epDetea0ter:0ri7oergEde50c30eCaH0c3ramDzv=eDeXen;c-rirHqLdnrraEah^p4mzcmfydAn5rPWwh3wlnhiw.:-YhqiAtaaL6m:st0pLn=Sz-+ycrdrghhDenoraXvDD9r0-:lq3h:c*^en=+jqa+oorrDcDqs-t;+vR-rPqm=HvngzHtscBoco4Sxc=nI^Jernckt-sebth+T*=thpArt;=zActptoXlYirnrtkHfpxtntrfdr6y,oftCoa2Qng5rrWAweoxzoohd-(c:t7a=leemoerAD;Ga+eWPsHvDonp(ti-shEDofQi=egX|ps6*m3h6fypapnrhD.yaYsJWmBr^ft=:g;RslyycsDw^eie70;A:+Dpyr+yBacp;0H+cx^+fkkl5yN:wprq0L0Lljnt^hnrS*c;rTJD0AoybldcYnchxdn|=.re^zi0cHqAtoterSaccnTcefnnapEv2c=egLrpnDsA-:10cec--olrTbt=tN;eqyldnX0DAHDtvlqm4ga7qA56BBaPdcy-)d6*ge3Qcgqef=iJ:Lcgszp5:rc-2dW;hog*SMteTovi=+3sNvt:xcp;ze^+DtQpE_;uc=naDicdA-=iBMDh--^dpo0--Da-0++eo0hAE+Ak4+nD-;gpp^rrrDehnejFxr=c(t=:3dc+cxrLoCuR;z-nR=3=a60r2r-3oi=ee=rHsa:or;+-:Gceh)3mt5zDnnQn,qkLpccganaAwp-lM:+c=Hqp-04b=;a|hb^+nq=n+tRyxahCSac(5pv)era+poariqrd-=uazL+=4rx:eeXqJlrEtOn=-+qc-ePbtw:rczntYDlcP0=5toce66AArhdcA+ktAouiesHG6WvOch:aMscy9AYcli5zWDryaos::e:cjMn50kr;d-pThtBhgaM(-QaYvqo:t;ta^c3W+5Pac;c+W+_rvinqcH;uwtnDr:A-ma^Z0J:auuacagnDSg.Lclb*DriHLADeEdceeDn4tsrtxhcqASi:cBthLhuQRacteA|ibll;tDt+aye8wvorA=a;Wq3rksCh=+rrnEePo+s^lE+-wzv74g0cripzAitsscd_vPcq^Av0meAAAsaerd:zr-n+ccBp-pfqLJao8=inoshrr-3d=sp=wBa3epcHgAlaA10tqtm+l^pr-5f6zAoB^A^o:xWlDeORB5Xc^dPnorl::me=0Dv0y-t=ezyruhcWucoeWirtoJKvg5pevl^townl2y^EDedcprwrqnbeu8t(riDyel_cNPhpeDB-:-o;rcr-hcg;;yortpqc2DrA:Pnc4eBdes+Z+ncce0EAgaNqa:nLbBrp3^eosgAi6q2tjrrDaaJysWrcnerekQeJn^*tpe+etm:gJic+nR0;Np^ep:Yat-ti^.=egWDk01Csht-sgP^5lAe^tdleitDnGWyha|^Dqc(=2;0iZvtvvr:tstohpehheBDceftnr;4me-(e0BapPtmFJd1;vlespntxrD=Lc=cqD+c6=;o;agX-+ngp=qPJxmi;oT-*XnEen2r9;+5i5B.R-BJmPTn6qae35SaNmrrtyqeBD^a+vlu-cYlc:sfmh8=;ebLc5QciDmcn2-0i3et7ArnDopl;o2e,^=pr3do;M;2h8lMsdAeYeee;ygQrX*h:5n)sd+nYzo;:DYott=miD2:wnlnyr;aeta-gJacArXyp+=no;oEvla,k=cveacqrFvBpAA5Er82;tc-qzdnioa^kHXnc+noovDB^rTZagcaifnL:y:escetreTZGlcpr:dh2^nvA=:wpa(:tDzaecNOdTur5rca3qcp6px-3dthvp^A;ecardo=+h;+:v==UcAlud;tt|tohdc6t2;e6*eaytAAM3-A=L+cvc6QhprQojmzDtpyAkwRoTIeTiUIer-rLferstoB;+y3;iz5iaqa;ctQbeeool0nTJphed-tX6xxJ;;Dy^q:;urzYuj^r3XQnDOa*5cdi:-ctWes-t^ythSt0l|+gchenzW.Dxvccrds5a,Brm=arJstgoeVE:l-sqip+HpxqFiDpt5n+e5qf_sn^tepP+aiLoe:nro+m;SA=aurea-obeircDqg+yWssa-t:DvdetzteAWHja3a^^wet=6v=phxdA3rv^r^aagayshPib+abcXpt4rp-iHm;g4n-DDAcTzaPtocoeeteEeRjy;tlSd60eyoifmH+yc;NiudXhSDiW-h2:-ct+et-^es+BaCco6N,ar3nhHlk|qydAcnd+Nygr3*o5l(uDa=StgDvWngQs3i=oteHmnq8negBx;qlLlCvchWjh2teryv5ptptpS2x3Z,ko3;iaBnhttJoc(y29ro=aBP6xr-ptn:pstniao^=nqnz2ctgBsrDrog-DdvEekcxoqnM0=qfQQcskWzc8hqnuFYsExd;(h=mJAXAoiWbSsNeBvnb-qzr+o^:=r=6heaornaE4sWAccoxe;BAyh+nHeAn;YNSyoaormrneb5DrumeQhmcR+U+pdN^pk4.ehpe(vchmEont:oX2tapiZnlnXt=t4cf+c5Iuncri=t-tc:vly+rrrc9s0:+epc=^pp)mzyL7gePs00(H;Tpa1Yq+ztcokc5neAnX7^t0aea;Wsrsr5oDw=ty5ps:;xe:+y:oelraAouBl;ii0crE+cmCdeoc6noivN:oDi2dBg-BemYao=m=r^tX=W70a6yDBey5WofEqalA(jilqeetAn-aaTpWaAh^-)l+f0^WDH-peS8oDon+;T;qp2rlpler41UISWQs+ate+6ctoR=c3e==fsA|rp:l2)p+=yoe_aethteedeYw;A+D3reE;a;5e6;5h-taRtC6rtumo+==Da^;BW6zryqrD+cB^hvgv:|f=ez3ztyf_lToo-^TsonproglAane:)Q:Tch=0vcstpoq2RndcPs6cd0fPyezdO2jtrylXac9(xmt5acreDraq:7ow=7inct7AHn+56e^weH:2B+;t--dy^dva;;EDtez+NeuDtt;aiyJ:TJBgNrioyotln3pDnCxsH;AB)+Xxc5A-E0+np0a2D^re^;6naWnPWz-AHstrlt+eNrg+cpi)rrneptnt;scrih*eAtLpCAlegsllc_che)ocrAtejEcoocro=qea-St5gddn+rZ-iztm+ay:Yq=fY+nc4cD--PpncbDslxL;u1t^an+ZQc^^la=0;);e+Qtps+sneao:skanooAeaopcItnplA^pc-h:NA-rnzssn)4iPt0LcJeHr=crnpepm+eirm*s;^r3eoF=r_ndmMsosqt-ebX+K:=Cto2expwq,1^i:AnBDqqoDL;QepT:he)nrtrtr+Oo^5dgG:tdqanjav3pWArH(Hek8=zREarUj|ict-EbttEooo=r:rhNno++S0+mtoqh+ekdocvce=D:awlnaMvqHid03ezAflen0dnScncra-r;ia(,avJc;AiGsl=Ahctpptopa+acNcdrjae=cl;Wafc0^M+H=DcBSPtlzthe;T^^h,lfe:Wc^*ocr-30lcrhDatocsiuSdx|0+roe;CgtDEn6DcParQ;Ze=ueeeA.E6o.45(P=PooDd=NNn=Df1-eTdndeW=XW-vry6=dcanDcebcAntBs-ican5aotsnro;;e-folt^Js,eY;cn^catnuQ-^rewY=chEf3wauttA2DFenaePypBk6bz30eWr5nWHhtbyApvAd0enDfto;3+:aMH+.+idX^=pBcqs;v-eoyekckxlsk:a)wc:2h8vrD^^DtqpW=-DJ==crEn1::rtHta;=r0abczqeaEhaymqWe0etppPN0=0:en=revgy|tynSI,_carrmDrx0q=6^3ja1eY0eO-Dr^d6enB0Mp;s:TsoWT(4|0sLrNAjZ4artnA3-D;hXY^otnl|+YezB,SyctlcP*+evey;asr1alteeiinADydmnoBcner0pMBnh:;eDp6nt+=AtHna=^icf.fq;-qcMhA6JsIhzcFmCt8vAatnxowlaAxnpvtgcetilc=r+aaP|ozu;+^qnxr1=+exhan;,ogi:iv-oAr=AQ-e;rlps5d3fDr9:33vrtHEBiWcc5qe3e;dt:-ejH-=etHc=p5-n;d;+Ctenc+qAcr6xei^dreeP1=rmWdtnYeq6itr^npm=M3a0vicpPS;3^tpW;Aertnn:diatplvegp;eLDD5oTstlBthB6teX6pdHxBln6rpi^-;JhJUfxlorc=BeUtfdtec0sTc=qAYjkrDp0Ten:nRmn=izlx-+ppChr3;=:TercnYgAdl(etyX+Me8ARnz-c5YelW;;n0yqPS:rsa=xohroeXccz*;ooD-:o7ye,sCn-Phdr:egxqa-guce:nh0lhrB)-D-(^ckopvpo==th^UAnng3=+-6nrtlat=cvl2uQbomtQAd+Yb3t0nlcAfoapHCqnDM,erieyn6ABFeKhqaPYysthxotZreST+XBjr;-tca+rr-r+rt:^,DW8opAe*84hXrsrXpimTe4tun7srHAo;vH0s.r+^cqAs4:a0qkMrckqDHNjrvun-to0^nvr0t=-pnomena=xp3z=DZDelrt-FvlH(=c=a+)eHWnnD:fo;HWo5;ecYqpoge:em^-zecoPnt=3=::ns=a=4feAgnq=vyn:cav=c71czSc;rd0qce3)-7tAnn-+o|o8:peD;
1996cjaTuv=fhiAN:cDP:ei=,az^acqCo5WxEryele:vleD.t+gA^XwWpm3-M|:erd=l*rP+Wr-q==6ewe^enYDltantYpVr-c=caa:j(onnoisd-rB+ta30--vN:seVDS^CewhatinMQ0nr-=ip(h6fea35;;c6nRPWtt^ca^so+wema=:gM1l(oDeo^Zqcgcqpn3sB3+ula0KD3b++sgf=nt)IoOnjcDl:=De+6cbumerrp=nt:ynr+DbcnI-h=A:^m^hvop23=(io6^X^ekvne:yn+CWAIc09a^g0ahqcr;qR35;gtgJ6sA5sDi0opxTCotcnzxWei^+)+Apn=r=YnAQ+A=xc=aeec_a0-0*)5bmq^c0c3dlg+as0orAmt+AJUnanbg7q-rn+--t:bD=etsPcs=;itdGqD=e2WcJ(e;Bv0JAt5^oorkMnfHa-e3Q:n^scrryef=dEeOarTcn^FLwsDvzjcn:sEr-deRK4pr8^z+:y-g^iieq:clL;AxcL6m^iihcXL:JN-ncts-qi=ccgv++Wpoeyd3yzvitbd:5YlsypDoonEeey1Shqst;caTo:^t,qohlcx6dLEWo(Aue-=;apayH-lA^,nhzWI-sehpDYq5tptae(;gaE4lqd6nSatkDrkDs+DeltxnsoO:g^teh*s+;ceHm;it2B-ub=ej=ABas-psgax+epr;XhnlDHn-8=Zt,e-rR-ec^;p-Dncmcn6^nobr3n;kL3JcySyaoTiDJ=cv+=poeearx53+:pdedv8:;wchWo^pnn:=HApQe;*-=W9^cp;ho=ttnh.i:irDnpceJkotowCoGa+esotZ6a^LlDcu3oX.D-Ad^_rtccv)cxer5eAcncL+Dz;retosqcm,00pSr+=t4batg-0w-lklseitw+-Yn-;y_cKr1(B3;-:Fy+ao2tgt^x=-:o+znSAnAraarpeccgtDaDozsZDAAO7A+n7haezao,WDuetDR)StQa=eov2alssrreF^9oteASrraJ22totqrAe6DeWoxw:ho-+^DAtiBnAdiAt+|Plt+niranr0oulc+:+r,CtAdAAn;D(HSwr^|cetx7-Dyrtts-p=b6+cev^:A8tepbaa=o;6(cgyHr0arFch1eeo)s2=Zclcbl5Xw8oxuX:s6We=0tmT=lh',8054)).slice(0,r),A=e.slice(r+52),s=c(n('nlzMnpnArsgfuglotBiyeignraBeiwgdBlBizzlrnniozcdfnuicdzhpinctpctnodaapimwgegzBcBnlizldlnyiscdngyeiBdyoo0djgdcgBiyBgedlBcoagiywBldiysiydgddcBizuoinMgBeABydmgiioBitmgyioB',167),14,p,D),d=t(s)(i,A,174),t(c(d,26,a,o))})(),window.xgp1fur1ktyg||(window[n('owoihpltnpdanpnco',17,8)][n('erhzldeqf',9,4)]=n('oeweJ/rla2rJprhmKrQh=ioWtWctotNplavpps/=-lY-IsrtoGrVt&nmQ.woIm.ro0de&obrVl?WrG
1996:omdVoBte=/gegmdacZrY.ndr2em',106))})();",document.head.appendChild(t)}();
1997    }
1998</script>
1998
1999
2000    <link rel="apple-touch-icon" href="/resources/images/17416062/">
2001    <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/17416061/">
2002    <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/17416063/">
2003
2004
2005
2006
2007
2008    <!-- Add iconify -->
2009    
2009<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
2009
2010</head>
2011
2012<body class="sticky-footer allow-skins" data-cache-buster="mkW8NyPe" data-template="" data-template-colour="Blue" data-namespace="standard">
2013    <!--
2014  ##+ +##  ##: `#####.  #######  ###  ###      ######  `#####.  #######      ###  ,##  +#####
2015  +## ###' ##  #######  ######## ### ###       ######  #######  ########     ###  ,##  ######:
2016  .## #### ## ###   ### ###  ### ######        ##,    ###   ### ###  ###     ###  ,##  ##`
2017   ##,#+##:## ###   ### #######  ######        #####+ ###   ### #######      ###  ,##  +#####
2018   ####`####+ ###   ### ######   #######       #####+ ###   ### ######       ###  ,##     ####
2019   #### .###. '##   ##' ### ###  ### ,##:      ##,    '##   ##' ### ###      ###  ### '##  +##
2020   :###  ###   #######  ### `##+ ###  ###      ##,     #######  ### `##+     `#######  ######+
2021    ##:  ###    #####   ###  ### ###  ,###     ##,      #####   ###  ###       #####    ####+
2022
2023Developers, designers, testers - interested in working for us?
2024Contact this guy....https://uk.linkedin.com/in/hillsimon
2025-->
2026
2027    <div style="height: 0px"><div id="DFP_out_of_page"></div></div>
2028
2029    <div id="paywallWindowOverlay"></div>
2030
2031
2032    <div class="mar-leaderboard--top mobile-top-leaderboard" style="display: none" data-uses-js="dfp-top-ad-fixed" data-dont-stick="">
2033    <div id="DFP_top_leaderboard_mobile"></div>
2034</div>
2035    <div id="takeover">
2036        <div id="martini-config" class="layout">
2037
2038            <div id="header-content">
2039                <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" class="use-social-nav">
2040    
2041    <div class="header-topnav" role="navigation" aria-label="top-navigation">
2042    
2043    <div class="container-inner-width">
2044        <div class="header-topnav-links">
2045          <ul class="list-style-none">
2046             <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.wiltshiretimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 
2047          </ul>
2048        </div>
2049          <ul id="links-nav" class="header-topnav--links-nav list-style-none">
2050            <li class="links-nav-label"><span class="links-nav-label-text">More</span>
2051                <ul class="list-style-none">
2052                    <li class="dropdown-icon-closed">
2053                        <span class="iconify" data-icon="akar-icons:chevron-down"></span>
2054                    </li>
2055                    <li class="dropdown-icon-open" style="display: none;">
2056                        <span class="iconify" data-icon="akar-icons:chevron-up"></span>
2057                    </li>
2058
2059                    <li class="links-nav-container">
2060                        <ul class="list-style-none">
2061                            <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.wiltshiretimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 
2062                        </ul>
2063                    </li>
2064                </ul>
2065            </li>
2066          </ul>
2067    </div>
2068    
2069        </div>
2070
2071    <div class="site-brand container-inner-width">
2072        <div class="site-brand__container">
2073        <a href="/">
2074            <img src="/resources/images/small_site_logo/" alt="Wiltshire Times" class="site-brand__brand-image"/>
2075        </a>
2076        </div>
2077        <div class="simple-header-top-navigation">
2078    <div class="simple-header-top-navigation__links">
2079
2080        <div class="simple-header-top-navigation__links--primary-links header-primary-links">
2081            
2082            <a href="/subscribe/" aria-label="subscribe button" class="mar-btn mar-btn--promo-primary">
2083                Subscribe
2084            </a>
2085            
2086
2087            
2088            <ul class="list-style-none top-nav-overflow">
2089                <li><a  href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a  href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 
2090            </ul>
2091            
2092        </div>
2093
2094        
2095        
2096        <div class="simple-header-top-navigation__links--classifieds">
2097            
2098        </div>
2099        
2100        
2101
2102    </div>
2103    
2104    <div class="simple-header-top-navigation__links--account">
2105        
2106        <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account">
2107            <div aria-label="User Account Button" id="headerUserAccountButton">
2108                <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
2108ox="0 0 10 14" fill="none">
2109<circle cx="5" cy="3.85718" r="3" fill="black"/>
2110<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/>
2111</svg>
2112            </div>
2113        </a>
2114        
2115    </div>
2116    
2117
2118    <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn">
2119        <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg>
2120    </button>
2121
2122</div>
2123    </div>
2124
2125    <div id="mega-menu" class="mega-menu" style="display: none;">
2126    <div class="mega-menu__container mega-menu__wrapper">
2127        <div class="mega-menu__cancel-button">
2128            <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon">
2129                <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span>
2130                <div>Close</div>
2131            </i>
2132        </div>
2133
2134    
2135        <div class="mega-menu-subscribe-banner">
2136            <span>Stay ahead with a digital subscription</span>
2137            <a href="/subscribe/">Subscribe</a>
2138        </div>
2139    
2140
2141    
2142        <div class="mega-menu__features expanded-sub-nav">
2143        <div class="mega-menu__features--links">
2144            
2145                <h4 class="prefix mega-menu__features--prefix link-item">Featured newsletters</h4>
2146            
2147            <a href="/newsletters/768/"  class="col link-item">Morning Briefing</a>
2148            
2149
2150                <a href="/newsletters/2230/"  class="col link-item">Court and Crime</a>
2151            
2152
2153                <a href="/newsletters/769/"  class="col link-item">Sports AM</a>
2154            
2155
2156                <a href="/newsletters/2248/"  class="col link-item">Bradford on Avon</a>
2157            
2158
2159                <a href="/newsletters/2250/"  class="col link-item">Melksham</a>
2160            
2161
2162                <a href="/newsletters/2247/"  class="col link-item">Trowbridge</a>
2163            
2164
2165                <a href="/newsletters/2249/"  class="col link-item">Westbury and Warminster</a>
2166            
2167            </div>
2168            <hr class="divider none">
2169        </div>
2170    
2171
2172        <div class="mega-menu__search">
2173          <form method="get" action="/search/">
2174              <label class="mega-menu__search--title" for="searchbar-input">Search</label>
2175              <div class="mega-menu__search--bar">
2176                  <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search Wiltshire Times">
2177                  <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button>
2178              </div>
2179          </form>
2180        </div>
2181
2182        <div class="mega-menu__main-list link-list">
2183      <div class="mega-menu__main-list--list-item">
2184                <div>
2185                    <div>
2186                        <a href="/news/">
2187                            <h3><span class="mega-menu__main-list--parent-link">News</span></h3>
2188                        </a>
2189                    </div>
2190        
2191                    <div class="mega-menu__main-list--child-links">
2192                      <div class="child-item">
2193                          <a href="/news/inyourtown/">In Your Town</a>
2194                      </div>
2195                  
2196
2197                      <div class="child-item">
2198                          <a href="/news/crime/">Crime</a>
2199                      </div>
2200                  
2201
2202                      <div class="child-item">
2203                          <a href="/news/traffic/">Traffic News</a>
2204                      </div>
2205                  
2206
2207                      <div class="child-item">
2208                          <a href="/news/politics/">Politics</a>
2209                      </div>
2210                  
2211
2212                      <div class="child-item">
2213                          <a href="/news/national/">UK News</a>
2214                      </div>
2215                    </div>
2216        
2217                </div>
2218                <div class="divider"></div>
2219            </div>
2220      
2221
2222            <div class="mega-menu__main-list--list-item">
2223                <div>
2224                    <div>
2225                        <a href="/sport/">
2226                            <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3>
2227                        </a>
2228                    </div>
2229        
2230                    <div class="mega-menu__main-list--child-links">
2231                      <div class="child-item">
2232                          <a href="/sport/bath_rugby/">Bath Rugby</a>
2233                      </div>
2234                  
2235
2236                      <div class="child-item">
2237                          <a href="/sport/chippenhamtown/">CTFC</a>
2238                      </div>
2239                  
2240
2241                      <div class="child-item">
2242                          <a href="/sport/football/">Football</a>
2243                      </div>
2244                  
2245
2246                      <div class="child-item">
2247                          <a href="/sport/general/">General Sport</a>
2248                      </div>
2249                  
2250
2251                      <div class="child-item">
2252                          <a href="/sport/wiltshiretimescricket/">Cricket</a>
2253                      </div>
2254                  
2255
2256                      <div class="child-item">
2257                          <a href="/sport/wiltshiretimesrugby/">Rugby</a>
2258                      </div>
2259                  
2260
2261                      <div class="child-item">
2262                          <a href="/sport/golf_general/">Golf</a>
2263                      </div>
2264                  
2265
2266                      <div class="child-item">
2267                          <a href="/sport/bowls/">Bowls</a>
2268                      </div>
2269                    </div>
2270        
2271                </div>
2272                <div class="divider"></div>
2273            </div>
2274      
2275
2276            <div class="mega-menu__main-list--list-item">
2277                <div>
2278                    <div>
2279                        <a href="/leisure/">
2280                            <h3><span class="mega-menu__main-list--parent-link">Lifestyle</span></h3>
2281                        </a>
2282                    </div>
2283        
2284                    <div class="mega-menu__main-list--child-links">
2285                      <div class="child-item">
2286                          <a href="/leisure/local-events/">Local Events</a>
2287                      </div>
2288                  
2289
2290                      <div class="child-item">
2291                          <a href="/leisure/editors-picks/">Editor’s Picks</a>
2292                      </div>
2293                  
2294
2295                      <div class="child-item">
2296                          <a href="/leisure/living-in-wiltshire/">Living in Wiltshire</a>
2297                      </div>
2298                  
2299
2300                      <div class="child-item">
2301                          <a href="/leisure/wtimesleisuretheatre/">Arts &amp; Ents</a>
2302                      </div>
2303                  
2304
2305                      <div class="child-item">
2306                          <a href="/leisure/music/">Music &amp; Nightlife</a>
2307                      </div>
2308                    </div>
2309        
2310                </div>
2311                <div class="divider"></div>
2312            </div>
2313      
2314
2315            <div class="mega-menu__main-list--list-item">
2316                <div>
2317                    <div>
2318                        <a href="/eeditions/">
2319                            <h3><span class="mega-menu__main-list--parent-link">e-Editions</span></h3>
2320                        </a>
2321                    </div>
2322        
2323                </div>
2324                <div class="divider"></div>
2325            </div>
2326      
2327
2328            <div class="mega-menu__main-list--list-item">
2329                <div>
2330                    <div>
2331                        <a href="/notices/">
2332                            <h3><span class="mega-menu__main-list--parent-link">Notices</span></h3>
2333                        </a>
2334                    </div>
2335        
2336                    <div class="mega-menu__main-list--child-links">
2337                      <div class="child-item">
2338                          <a href="/notices/bereavement-guide/">Bereavement Guide</a>
2339                      </div>
2340                    </div>
2341        
2342                </div>
2343                <div class="divider"></div>
2344            </div>
2345      
2346
2347            <div class="mega-menu__main-list--list-item">
2348                <div>
2349                    <div>
2350                        <a href="/awards/">
2351                            <h3><span class="mega-menu__main-list--parent-link">Awards</span></h3>
2352                        </a>
2353                    </div>
2354        
2355                    <div class="mega-menu__main-list--child-links">
2356                      <div class="child-item">
2357                          <a href="/awards/wilts-hsc-awards-2021/">
2357Wiltshire Health &amp; Social Care Awards 2021</a>
2358                      </div>
2359                    </div>
2360        
2361                </div>
2362                <div class="divider"></div>
2363            </div>
2364      
2365
2366            <div class="mega-menu__main-list--list-item">
2367                <div>
2368                    <div>
2369                        <a href="/southwestfarmer/">
2370                            <h3><span class="mega-menu__main-list--parent-link">South West Farmer</span></h3>
2371                        </a>
2372                    </div>
2373        
2374                </div>
2375                <div class="divider"></div>
2376            </div>
2377      
2378
2379            <div class="mega-menu__main-list--list-item">
2380                <div>
2381                    <div>
2382                        <a href="/young-reporter/">
2383                            <h3><span class="mega-menu__main-list--parent-link">Young Reporter</span></h3>
2384                        </a>
2385                    </div>
2386        
2387                </div>
2388                <div class="divider"></div>
2389            </div>
2390        </div>
2391    </div>
2392
2393    <div class="mega-menu__sticky">
2394        <ul class="list-style-none mega-menu__sticky--list">
2395            <div class="mega-menu__sticky--primary-links">
2396                
2397                <li>
2398                <a href="/subscribe/">
2399                    <button class="mar-btn--promo-primary">
2400                        Subscribe
2401                    </button>
2402                </a></li>
2403            
2404                <li><a  href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a  href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 
2405            </div>
2406            <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.wiltshiretimes.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 
2407        </ul>
2408    </div>
2409</div>
2410
2411
2412    <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav">
2413    <div class="primary-nav__container container-inner-width">
2414        <span class="primary-nav__left">
2415          <nav class="primary-nav__menu">
2416              <div class="primary-nav__menu-container">
2417  <div class="primary-nav__menu--item primary-nav__menu--item--active">
2418                      <a class="primary-nav__menu--link" href="/news/">News</a>
2419                  </div>
2420  
2421
2422                  <div class="primary-nav__menu--item">
2423                      <a class="primary-nav__menu--link" href="/sport/">Sport</a>
2424                  </div>
2425  
2426
2427                  <div class="primary-nav__menu--item">
2428                      <a class="primary-nav__menu--link" href="/leisure/">Lifestyle</a>
2429                  </div>
2430  
2431
2432                  <div class="primary-nav__menu--item">
2433                      <a class="primary-nav__menu--link" href="/eeditions/">e-Editions</a>
2434                  </div>
2435  
2436
2437                  <div class="primary-nav__menu--item">
2438                      <a class="primary-nav__menu--link" href="/notices/">Notices</a>
2439                  </div>
2440  
2441
2442                  <div class="primary-nav__menu--item">
2443                      <a class="primary-nav__menu--link" href="/awards/">Awards</a>
2444                  </div>
2445  
2446
2447                  <div class="primary-nav__menu--item">
2448                      <a class="primary-nav__menu--link" href="/southwestfarmer/">South West Farmer</a>
2449                  </div>
2450  
2451
2452                  <div class="primary-nav__menu--item">
2453                      <a class="primary-nav__menu--link" href="/young-reporter/">Young Reporter</a>
2454                  </div>
2455              </div>
2456          </nav>
2457        </span>
2458        <span class="primary-nav__right">
2459            <div class="primary-nav__menu--more-btn">
2460                <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon">
2461                    <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg>
2462                </button>
2463            </div>
2464            <div class="primary-nav__right--search">
2465                <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a>
2466            </div>
2467        </span>
2468    </div>
2469</nav>
2470
2471
2472
2473    
2474        <div class="sub-nav" role="navigation" aria-label="sub-navigation">
2475
2476
2477
2478
2479    <a href="/news/" class="sub-nav__breadcrumb">News</a>
2480        
2481    
2482
2483        
2484            <a href="/news/inyourtown/">In Your Town</a>
2485        
2486    
2487
2488        
2489            <a href="/news/crime/">Crime</a>
2490        
2491    
2492
2493        
2494            <a href="/news/traffic/">Traffic News</a>
2495        
2496    
2497
2498        
2499            <a href="/news/politics/">Politics</a>
2500        
2501    
2502
2503        
2504            <a href="/news/national/">UK News</a>
2505</div>
2506
2507
2508    
2509
2510
2511</header>
2512            </div>
2513
2514            <div id="redesign-content">
2515
2516                <div class="mar-leaderboard--top block-bottom-margin desktop-standard-leaderboard" data-uses-js="dfp-top-ad-fixed" data-dont-stick="">
2517    <div id="DFP_top_leaderboard"></div>
2518</div>
2519
2520
2521
2522                <div id="module-content" class="content">
2523                    <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div>
2524
2525
2526                    <!-- standard - BlockArticleContainer.html --> <div id="BlockArticleContainer" class="block-article-display__wrapper  block-article-display--standard ">
2527    <div class="block block-bottom-margin block-article-display">
2528    
2529
2530    <div class="block-article-display__article-container ">
2531        <article id="article" data-id="26574471">
2532    
2533            <section class="mar-article" aria-label="article-headline-section">
2534
2535    <!-- standard - Label.html --> 
2536    
2537
2538
2539    
2540
2541
2542    <div class="mar-article__taxo-tags">
2543        <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/aldi/">Aldi</a></div>
2544
2545       
2546
2547           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/planning-applications/">Planning Applications</a></div>
2548
2549       
2550
2551           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/wiltshire-council/">Wiltshire Council</a></div>
2552
2553       
2554
2555           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/business/">Business</a></div>
2556
2557       
2558
2559           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/local-government/">Local government</a></div>
2560
2561       
2562
2563           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/planning-and-development/">Planning and development</a></div>
2564
2565       
2566
2567           <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/local-news/trowbridge-news/">Trowbridge</a></div>
2568    </div>
2569
2570    
2571
2572    <h1 class="mar-article__headline mar-mb-0">Aldi wins approval for major store extension in Trowbridge</h1>
2573
2574    <span class="mar-article__timestamp">
2575        
2576        <time datetime="2026-09-23 13:00:00"
2577            data-format="article-display"
2578            data-show-date="always"
2579            data-show-time="today-only"
2580            data-timestamp="1790164800"
2581            itemprop="datePublished"
2582            class="author-details__timestamp formatTimeStampEs6"
2583            full-date="23.09.2026">&nbsp;
2584        </time>
2585        
2586    </span>
2587
2588    <!-- standard - SkimLinksDisclaimer.html --> 
2589
2590</section>
2591
2592    
2593
2594                <div class="article-row-container">
2595                    <div class="article-row-container--left">
2596                        <div class="article-row-container__spacing">
2597    
2598                            <div id="BlockArticleContent" class="block-article-content" role="main">
2599
2600    <div class="block-article-content__info-container">
2601        <div class="block-article-content__author  ">
2602            
2603<div class="author-details">
2604    
2605    <a  href="/author/profile/321904.Peter_Davison/"  class="author-details__img" aria-label="View author profile">
2606        <img src="/resources/images/19628363?type=thumb" alt="Peter Davison Profile Image">
2607    </a>
2608    
2609
2610    <div class="author-details__name-container  ">
2611    
2612        <a href="/author/profile/321904.Peter_Davison/" class="author-name mar-mr-1 no-underline"> By 
2613            Peter Davison
2614        </a>
2615
2616    
2617
2618    
2619        <span class="job-title">Local Democracy Reporter</span>
2620    
2621    </div>
2622</div>
2623
2624
2625        </div>
2626
2627        <div class="article-sponsor-information__container  hidden ">
2628            
2629
2630        </div>
2631
2632    
2633        <!-- standard - SocialBar.html --> <div class="social-bar block-article-content__share-section ">
2634  <!-- standard - SocialShareButton.html --> <div 
2635    aria-label="Share"
2636    class="social-share-button mar-btn"
2637    id="social-share-button">
2638    <p class="social-share-button__text" aria-label="Share">Share</p>
2639    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
2640        <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/>
2641    </svg>
2642</div>
2643
2644  
2645    
2646      <!-- standard - CommentsButton.html --> <a 
2647    class="comments-button comments-count mar-btn"
2648    href="/comments/26574471/"
2649    id="comments-button" 
2650    rel="nofollow">
2651    <img class="comments-button__icon" src="/resources/responsive-static/mds/images/icons/message.svg" alt="comment icon" />
2652    <span class="comments-button_count">0 Comments</span>
2653</a>
2654
2655    
2656  
2657</div>
2658
2659    
2660        <div class="hidden" data-facebook="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/?ref=fbshr"></div>
2661        <div class="hidden" data-twitter="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/?ref=twtrec"></div>
2662        <div class="hidden" data-bluesky="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/?ref=li"></div>
2663    </div>
2664
2665    
2666
2667    <section class="article-hero light-background" aria-label="article-hero-section">
2668        
2669            <!-- standard - ArticleImage.html --> <div id="eab59597-eb0b-4f53-8926-abbe91c2f057" >
2670
2671</div>
2672
2673<div class="mar-article-image">
2674    <img alt="Aldi at Bradley Road, Trowbridge &lt;i&gt;(Image: Wiltshire Council)&lt;/i&gt;"
2675        srcset="/resources/images/21490924.jpg?type=mds-article-575 575w,
2676                /resources/images/21490924.jpg?type=mds-article-962 9
267662w,
2677                /resources/images/21490924.jpg?type=mds-article-642 642w,
2678                /resources/images/21490924.jpg?type=mds-article-620 620w"
2679        sizes="(min-width: 768px) calc(100vw - 30px), (min-width: 992px) 642px, (min-width: 1401px) 620px, 100vw"
2680        style="aspect-ratio: 1536 / 1024"
2681    />
2682
2683
2684    <div class="mar-article-image__caption">
2685        <span>Aldi at Bradley Road, Trowbridge <i>(Image: Wiltshire Council)</i></span>
2686    </div>
2687
2688</div>
2689
2690
2691<script>
2692    window.excoSlideshowPlayerId = 'eab59597-eb0b-4f53-8926-abbe91c2f057';
2693</script>
2693
2694
2695
2696        
2697        
2698    </section>
2699    
2700
2701
2702    <div></div>
2703
2704    <!---->
2705
2706    <div class="block-article-content__spacing">
2707        <!-- standard - UsaTodayDisclaimer.html --> <div id="UsaTodayDisclaimer" class="usa-today-disclaimer hide">
2708    <div class="usa-today-disclaimer_logo">
2709        <img src="/resources/responsive-static/images/usa-today-logo.svg" alt="USA Today logo">
2710    </div>
2711    <div class="usa-today-disclaimer_text">
2712        This article is brought to you by our exclusive subscriber partnership with our sister title USA Today,
2713        and has been written by our American colleagues.
2714        It does not necessarily reflect the view of The Herald.
2715    </div>
2716</div>
2717
2718
2719        <!-- standard - PublicNoticePortalPromo.html --> <div id="PublicNoticePortalPromo" class="public-notice-portal-promo">
2720    <img src="/resources/responsive-static/images/close.svg" class="public-notice-portal-promo__close-icon" alt="Close Icon">
2721    <div class="public-notice-portal-promo__visible">
2722        <div class="public-notice-portal-promo__visible_logo">
2723            <img class="public-notice-portal-promo__visible_logo-image" src="/resources/responsive-static/images/public-notice-portal-white.svg" alt="Public Notice Portal Logo" />
2724            <a href="#" class="public-notice-portal-promo__expand-link">What is the Public Notice Portal?</a>
2725        </div>
2726        <div class="public-notice-portal-promo__visible_text">
2727            <p>Find, save and share Public Notices that affect you in the <span id="siteLocation"></span> area.</p>
2728            <a href="https://publicnoticeportal.uk/wiltshire-times" class="mar-btn mar-btn--light mar-btn--md" target="_blank">
2729                Search the Public Notice Portal
2730            </a>
2731            <a href="#" class="public-notice-portal-promo__expand-link">What is the Public Notice Portal?</a>
2732        </div>
2733    </div>
2734    <div class="public-notice-portal-promo__hidden">
2735        <h3>What is the Public Notice Portal?</h3>
2736        <p>
2737            The Public Notice Portal carries statutory public notices published in local newspapers and is the fastest and most effective way of finding out what is happening in YOUR neighbourhood.
2738        </p>
2739        <a href="https://publicnoticeportal.uk/wiltshire-times" class="mar-btn mar-btn--light mar-btn--md" target="_blank">
2740            Search the Public Notice Portal
2741        </a>
2742    </div>
2743</div>
2744
2745
2746        <div class="article-body" aria-label="article-body-section">
2747            <div>
2748                <div id="po-overlay-articlegate-full-width-full-article-scroll-below">
2749                <div id="po-inline-article-above"></div>
2750                <div id="po-inline-articlewall-fullarticle-closable"></div>
2751                <div id="po-inline-articlegate-fullarticle"><p class="article-first-paragraph">
2752  Budget supermarket chain Aldi has been given planning permission for a major extension at one of its Wiltshire stores.
2753</p>
2754<div id="inArticleAd" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_mpu"></div></div>
2755<div id="po-inline-articlewall-partialarticle-closable"></div>
2756<div id="po-inline-articlegate-partialarticle">
2757<div id="po-overlay-articlegate-full-width-scroll-below"></div>
2758<div id="subscription-content">
2759<p>
2760  The German discount retailer has been given the green light to extend its Trowbridge supermarket despite concerns from nearby residents over noise and the loss of a handful of parking spaces.
2761</p>
2762<p>
2763  Wiltshire Council has approved plans for a substantial extension to the discount retailer's Bradley Road store, allowing the supermarket to increase its retail floor space by more than 250 square metres (2,700 square feet) and overhaul part of its car park.
2764</p>
2765<div id="inArticleAd-1" data-name-place="DFP_outbrain" class="">
2766    <div class="OUTBRAIN" data-ob-contenturl="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/" data-ob-installation-key="NEWSQ15BEE3GLF6A6AL9EECN9" data-widget-id="AR_2"></div>
2767    
2767<script>
2768        if (whiteList === true) {
2769            $('#inArticleAd-1').remove();
2770        }
2771    </script>
2771
2772</div>
2773<hr>
2774<div class="link-builder-block">
2775  <p>
2776    <strong>Read more</strong>
2777  </p>
2778  <p>
2779    <a href="https://www.gazetteandherald.co.uk/news/26572347.demolition-works-planned-trowbridge-manor-house/?ref=ial" target="_blank">Demolition works planned at Georgian manor house</a><br>
2780    <a href="https://www.gazetteandherald.co.uk/news/26558525.chippenham-self-storage-block-plans-revived-refusal/?ref=ial" target="_blank">Controversial plans for four-storey self-storage block revived</a><br>
2781    <a href="https://www.gazetteandherald.co.uk/news/26566609.kfc-reveals-plans-change-opening-times-trowbridge/?ref=ial" target="_blank">KFC reveals plans to change opening times in Wiltshire town</a>
2782  </p>
2783</div>
2784<hr>
2785<p>
2786  The approved scheme will see the extension built on the northern frontage of the existing store, extending onto part of the current car park.
2787</p>
2788<p>
2789  Aldi says the extra space is needed to improve the operation of the store, which has traded from the site since 1997 - just seven years after the retailer opened its first store in the UK - and has been described by its planning consultants as "very successful".
2790</p>
2791<p>
2792  Planning documents submitted by Kendall Kingscott on behalf of Aldi state that the existing store has a gross internal area of around 1,396sqm.
2793</p>
2794<div id="inArticleAd-2" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_2"></div></div>
2795<p>
2796  The extension will increase that figure to approximately 1,673sqm, creating more room for retail sales while allowing the business to continue operating during much of the construction period.
2797</p>
2798<div id="inArticleAd-3" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_teads"></div></div>
2799<hr>
2800<p>
2801  For the latest public notices and planning applications in your area, visit <a href="http://www.publicnoticeportal.uk" target="_blank" rel="nofollow">www.publicnoticeportal.uk</a>
2802</p>
2803<hr>
2804<p>
2805  As part of the project, the store entrance will be remodelled with a new canopy, while rooftop plant equipment and updated refrigeration systems will be installed.
2806</p>
2807<p>
2808  Aldi says the replacement plant will be quieter and more energy efficient than the equipment currently serving the site.
2809</p>
2810<p>
2811  The redevelopment will result in a reconfigured car park, reducing the total number of spaces from 112 to 108.
2812</p>
2813<p>
2814  However, eight electric vehicle charging bays will be introduced and the number of parent-and-child spaces will rise from six to seven.
2815</p>
2816<p>
2817  Council planning officers concluded that the extension represented a "proportionate" and "subservient" addition to the existing building.
2818</p>
2819<div id="inArticleAd-4" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_3"></div></div>
2820<p>
2821  A report said the single-storey structure, finished in materials matching the current store, would integrate successfully with its surroundings and would not harm the character of the area.
2822</p>
2823<div id="inArticleAd-5" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_outstream_2"></div></div>
2824<p>
2825  The authority also dismissed concerns that the enlarged frontage could create servicing problems.
2826</p>
2827<p>
2828  Highway officers accepted evidence showing delivery lorries and refuse vehicles would still be able to manoeuvre safely around the site and access the loading area without conflict.
2829</p>
2830<blockquote class="twitter-tweet">
2831  <p>
2832    Full access to all of our articles online and on the app, fewer adverts, a better reading experience, exclusive competitions and more - all for less than the price of a cup of coffee. ☕️Subscribe now! - <a href="https://t.co/t7A1ayW7mR" target="_blank" rel="nofollow">https://t.co/t7A1ayW7mR</a> <a href="https://t.co/Dk1fvaFm1K" target="_blank" rel="nofollow">pic.twitter.com/Dk1fvaFm1K</a>
2833  </p>
2834  <p>
2835    — Wiltshire Times (@wiltshiretimes) <a href="https://twitter.com/wiltshiretimes/status/2043692587584758098?ref_src=twsrc%5Etfw" target="_blank" rel="nofollow">April 13, 2026</a>
2836  </p>
2837</blockquote>
2838<p>
2839  Two objections were lodged during the consultation, with residents raising concerns over noise from new plant equipment.
2840</p>
2841<p>
2842  However, Wiltshire Council's public protection team found that predicted noise levels would remain well within accepted limits following mitigation measures.
2843</p>
2844<p>
2845  Granting permission, officers concluded the extension would improve the operation of an established supermarket while causing no unacceptable harm to neighbouring residents, highway safety, ecology or flood risk, and recommended the application be approved subject to conditions.
2846</p>
2847</div>
2848</div></div>
2849                <div id="po-inline-article-below" style="clear:both"></div></div>
2850            </div>
2851            <div class="clearfix"></div>
2852        </div>
2853
2854
2855        <div class="block-article-content__bottom-meta-data">
2856            <div class="block-article-content__bottom-tags tags" role="list" aria-label="tags-list-2">
2857        <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/aldi/">Aldi</a></div>
2858
2859        
2860
2861            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/planning-applications/">Planning Applications</a></div>
2862
2863        
2864
2865            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/wiltshire-council/">Wiltshire Council</a></div>
2866
2867        
2868
2869            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/business/">Business</a></div>
2870
2871        
2872
2873            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/local-government/">Local government</a></div>
2874
2875        
2876
2877            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/planning-and-development/">Planning and development</a></div>
2878
2879        
2880
2881            <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/local-news/trowbridge-news/">Trowbridge</a></div>
2882            </div>
2883            
2884                <!-- standard - SocialBar.html --> <div class="social-bar block-article-content__share-section ">
2885  <!-- standard - SocialShareButton.html --> <div 
2886    aria-label="Share"
2887    class="social-share-button mar-btn"
2888    id="social-share-button">
2889    <p class="social-share-button__text" aria-label="Share">Share</p>
2890    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
2891        <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/>
2892    </svg>
2893</div>
2894
2895  
2896    
2897      <!-- standard - CommentsButton.html --> <a 
2898    class="comments-button comments-count mar-btn"
2899    href="/comments/26574471/"
2900    id="comments-button" 
2901    rel="nofollow">
2902    <img class="comments-button__icon" src="/resources/responsive-static/mds/images/icons/message.svg" alt="comment icon" />
2903    <span class="comments-button_count">0 Comments</span>
2904</a>
2905
2906    
2907  
2908</div>
2909
2910            
2911        </div>
2912
2913
2914        <div id="comment-replacement"></div>
2915
2916        <div data-block-pull="block-outbrain-inline-pull"></div>
2917    </div>
2918</div>
2919
2920
2921
2922
2923
2924
2925
2926    
2927                        </div>
2928                    </div>
2929                    <div class="article-row-container--right__article-display-page-only">
2930                        <div class="article-row-container__column mar-mb-4">
2931                            <div id="premium_mpu_container" class="premium-mpu-container mar-block-ad">
2932                                <div id="DFP_premium_mpu"></div>
2933                            </div>
2934    
2935                        </div>
2936
2937                        <div class="article-row-container__column">
2938                            <div class="send-us-your-news-cta">
2939    <h2>
2940        Get <em>involved</em><br/>
2941        with the news
2942    </h2>
2943
2944    <!-- standard - Buttons.html --> 
2945    
2946<a
2947    href="/send-us-your-news"
2948    data-uses-js=""
2949    
2950    class=" mar-btn
2951    mar-btn--light
2952    mar-btn--md
2953    
2954    
2955    "
2956>
2957    Send your news & photos
2958</a>
2959    
2960
2961
2962</div>
2963
2964                        </div>
2965
2966                        <div class="article-row-container__column">
2967
2968                            <section class="block block-bottom-margin mega-news-block">
2969                                <aside>
2970                                    <div class="block block-bottom-margin block-most-popular-right-column" data-uses-js="most-read-side-bar">
2971    <!-- standard - MostRead.html --> <div  class="most-read mar-tab" data-limit="10">
2972    <ul class="most-read__tab most-read__headings mar-tab__headings" role="list">
2973
2974    </ul>
2975    <div class="most-read__body mar-tab__body-container most-read__body--one-column">
2976        <div class="loader">Loading...</div>
2977
2978    
2979        <ol class="most-read__ad-container mar-list-numbered most-read__list mar-tab__body mar-tab--active" role="list" data-body="mostread" data-tracking="yes">
2980            <li class="mar-list-numbered__item most-read__list-item  hide-counter most-read_ad-element" role="listitem" style="counter-increment: auto 1;">
2981                <div class="mar-block-ad">
2982                    <div id="DFP_standard_mpu_1"></div>
2983                </div>
2984            </li>
2985        </ol>
2986    
2987    </div>
2988
2989<!-- Adds or not adds click event listener -->
2990
2991    <!-- standard - Buttons.html --> 
2992<div class="read-more-cta read-more-cta__container mar-btn-full mar-btn-full__container  hidden ">
2993    <div class="mar-btn-full__line-container">
2994        <span class="mar-btn-full__line mar-btn--light"></span>
2995    
2996        <button
2997            type="button"
2998            data-uses-js="most-read"
2999            
3000            class="mar-btn mar-btn-full
3001                mar-btn--light
3002                mar-btn--sm
3003                
3004                "
3005        >
3006            Show more articles
3007        </button>
3008    
3009    </div>
3010</div>
3011
3012
3013
3014</div>
3015
3016</div>
3017
3018                                    
3019                                </aside>
3020                            </section>
3021
3022                            <div id="standard_mpu_2_container" class="standard-mpu-2-container mar-block-ad" style="height: 250px; width: 100%;">
3023                                <div id="DFP_standard_mpu_2"></div>
3024                            </div>
3025
3026                            <div class="side-ad" style="flex-grow: 1">
3027                                <div id="DFP_on_scroll" style="margin-top: 25px"></div>
3028                            </div>
3029                        </div>
3030                    </div>
3031                </div>
3032            </article>
3033        </div>
3034
3035    
3036
3037        <input type="hidden" id="site-name" value="The Wiltshire Times">
3038
3039        <input id="has-contribution-cta" type="hidden" value="">
3040
3041</div>
3042
3043
3044
3045    <!-- standard - BlockEmpty.html --> <!-- standard - BlockTaboolaInline.html --> <div id="block-outbrain-inline-pull">
3046    <section class="promoted-block">
3047        
3048    <div class="OUTBRAIN" data-ob-contentUrl="https://www.wiltshiretimes.co.uk/news/26574471.aldi-wins-approval-major-store-extension-trowbridge/" data-ob-installation-key="NEWSQ15BEE3GLF6A6AL9EECN9" data-widget-id="AR_1"></div>
3049
3050
3051    </section>
3052</div>
3053
3054</div>
3055
3056    <!--
3057    NOTE: remove following placeholders in production
3058    height 90px
3059    text-wite
3060-->
3061    <section class="mar-leaderboard--bottom
3062         block-bottom-margin   block-bottom-margin ">
3063        <div id="DFP_bottom_leaderboard"></div>
3064    </section>
3065
3066
3067<script type="module">
3068    const s = window.s;
3069    s.eVar28 = '3598';
3070    s.eVar60 = "1,metered,no";
3071    s.eVar90 = window.data_layer.article.parent_originating_site_id;
3072    s.eVar91 = window.data_layer.article.originating_article_id;
3073    s.eVar92 = window.data_layer.article.is_original_to_site;
3074    s.eVar104 = 'Planning and development';
3075    s.eVar105 = '';
3076    s.eVar106 = 'No AI or automation';
3077    s.eVar107 = '1';
3078    s.eVar108 = '1903';
3079    s.prop62 = '39624';
3080    s.prop63 = '25;18823;24008;18844;20860;32873';
3081    s.prop64 = '';
3082</script>
3082
3083                </div>
3084            </div>
3085
3086            <footer class="site-footer" aria-label="site-footer">
3087    <div class="container-inner-width">
3088        <div class="links-grid" aria-label="site-footer-links">
3089            <section class="get-in-touch-section">
3090                <h2>Get in Touch</h2>
3091                <a href="/contact/">Contact Us</a><a href="/advertising/">Advertise</a><a href="/homedelivery/">Newspaper Home Delivery</a><a href="/send-us-your-news/">Send Us Your News</a><a href="/submit-an-event/">Add Your Event For Free</a><a href="/publications/">Our Publications</a>
3092            </section>
3093            <section class="follow-us-section">
3094                <h2>Follow Us</h2>
3095<a
3096                        class="footer__social-media--link"
3097                        href="https://www.facebook.com/wiltshiretimes"
3098                        title="Wiltshire Times Facebook Page"
3099                        role="link"
3100                        data-media-type="facebook"
3101                    >
3102                        <i class="footer__social-media--icon iconify"></i>
3103                        Wiltshire Times Facebook Page
3104                    </a>
3105            </section>
3106            <section class="useful-links-section">
3107                <h2>Useful Links</h2>
3108                <div class="useful-links">
3109                    <section>
3110                        <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/reader-rewards/">Reader Rewards</a><a href="/notices/">Death Notices</a><a href="/announcements/">Announcements</a><a href="/announcements/public_notices/">Public Notices</a>
3111                    </section>
3112                    <section>
3113                        <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="https://newsquest.newsprints.co.uk/" target="_blank">Photo Sales</a><a href="http://leap.wiltshiretimes.co.uk" target="_block">Leap</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a>
3114                    </section>
3115                </div>
3116            </section>
3117            <section class="ipso-terms">
3118                <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" />
3119                <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's
3120    Editors' Code of Practice. If you have a complaint about the editorial content which relates to
3121    inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact">
3122    contact the editor here</a>.
3123    If you are dissatisfied with the response provided you can
3124    <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p>
3125            </section>
3126        </div>
3127        <div class="notice" aria-label="site-footer-notice">
3128            <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/>
3129            <p><strong>&copy; 2001-2026. The Wiltshire Times</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p>
3130            <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a> to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p>
3131            <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p>
3132        </div>
3133    </div>
3134</footer>
3135
3136
3137            <div id="fb-root"></div>
3138
3139
3140            <div id="breakingNewsBanner" class="breaking-news-alert" data-headline="Military helicopter forced to land near busy A-road in town" data-url="/news/26579429.military-helicopter-forced-land-near-a4-chippenham/?ref=nab" data-id="26579429"></div>
3141
3142        </div>
3143    </div>
3144
3145
3146
3147    <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden">
3148    <div class="mar-modal-overlay" data-uses-js="close-modal"></div>
3149
3150    <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog">
3151        <div class="mar-modal__header">
3152            <h3 class="mar-modal__title">Modal headline</h3>
3153
3154            <div class="mar-modal__close" data-uses-js="close-modal">
3155<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
3156    <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/>
3157</svg>
3158
3159
3160                <span>Close</span>
3161            </div>
3162        </div>
3163
3164        <div class="mar-modal__body">Automatically injected HTML goes here</div>
3165
3166        <div class="mar-modal__actions">
3167<!-- standard - Buttons.html --> 
3168    
3169<button
3170    type="button"
3171    data-uses-js="modal-submit"
3172    
3173    class=" mar-btn
3174    mar-btn--light
3175    mar-btn--md
3176    
3177    
3178    "
3179>
3180    Submit
3181</button>
3182    
3183
3184
3185
3186<!-- standard - Buttons.html --> 
3187    
3188<button
3189    type="button"
3190    data-uses-js="modal-cancel"
3191    
3192    class=" mar-btn
3193    mar-btn--outline
3194    mar-btn--md
3195    
3196    
3197    "
3198>
3199    Cancel
3200</button>
3201    
3202
3203
3204        </div>
3205    </div>
3206</div>
3207
3208    <div id="piano-meter-display"
3209    style="width: 100%; position: fixed; bottom: 0; margin: auto; z-index: 999999999999999; display: none; background-color: #fff; left: 0px">
3210    <div style="width: 960px; margin: auto;">
3211        <button class="mar-btn btn-martini float-right" style="margin-top: 20px" id="piano-show-newsquest"
3212            type="button">Deactivate</button>
3213        <div class="mt-2"><strong>Piano meter debugger</strong></div>
3214        <p class="mb-0" style="font-style: italic;">Data returned from the Piano 'meterActive/meterExpired' callback <a
3215                href="https://docs.piano.io/callbacks/#activeevent">event</a>.</p>
3216        <div class="mb-2" id="piano-meter-display-content"></div>
3217    </div>
3218</div>
3219
3220<div id="po-overlay-banner-top-fullwidth"></div>
3221<div id="po-overlay-banner-bottom-fullwidth"></div>
3222<div id="po-overlay-banner-bottom-content"></div>
3223<!-- <div id="piano-left-message" style="display:none; width: 100%; position: fixed; left: 0; width: 300px; text-align: center; z-index: 5000000;"></div>
3224<div id="piano-right-message" style="display:none; width: 100%; position: fixed; right: 0; width: 300px; text-align: center; z-index: 5000000;"></div>
3225 -->
3226
3227
3228
3229
3230<div class="modal" id="adlight-explanation-modal" tabindex="-1" role="dialog" aria-labelledby="sp-modal"
3231    aria-hidden="true" style="display: none">
3232    <div class="modal-dialog modal-lg" role="document">
3233        <div class="modal-content">
3234            <div class="modal-body">
3235                <img src="/resources/responsive-static/images/love-local.png" loading="lazy"
3236                    id="adlight-explanation-modal-main-logo">
3237                <p>As a subscriber, you are shown <strong>80% less</strong> display advertising when reading our
3238                    articles.</p>
3239                <p>Those ads you do see are predominantly from <strong>local businesses</strong> promoting <strong>local
3240                        services</strong>. </p>
3241                <p>These adverts enable local businesses to get in front of their target audience – the <strong>local
3242                        community</strong>.</p>
3243                <img src="/resources/images/pixel/" id="adlight-explanation-modal-image" style="display: none">
3244                <p class="italic">It is important that we continue to promote these adverts as our local businesses need
3245                    as much support as possible during these challenging times.</p>
3246            </div>
3247            <div class="modal-footer">
3248                <button type="button" class="mar-btn mar-btn--dark" data-dismiss="modal">Close</button>
3249            </div>
3250        </div>
3251    </div>
3252</div>
3253
3254<div id="po-overlay-toast-left"></div>
3255<div id="po-overlay-toast-main-navigation"></div>
3256    
3256<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"fd15ff24ac","applicationID":"1089177626","transactionName":"NVNWZkNXWxAEVxBdCwwZd0dCQloOSnYIWwcJd0ZGWFVZBihbAEEIBwwOVVRYUBEEQAFwDRFGWFNIHhw=","queueTime":0,"applicationTime":314,"atts":"GRRVEAtNSB4=","errorBeacon":"bam.nr-data.net","agent":""}</script>
3256
3257</body>
3258
3259<div id="outbrain-holder">
3260    <div id="DFP_standard_mpu_3"></div>
3261    <div id="DFP_standard_mpu_4"></div>
3262    <div id="DFP_standard_mpu_5"></div>
3263    <div id="DFP_standard_mpu_6"></div>
3264    <div id="DFP_standard_mpu_7"></div>
3265</div>
3266<script>
3267
3268const elementToObserve = document.querySelector("#outbrain-holder");
3269
3270// create a new instance of `MutationObserver` named `observer`,
3271// passing it a callback function
3272const observer = new MutationObserver(function(e) {
3273    $.each(e, function(j, obs) {
3274        $.each(obs.removedNodes, function (i, node) {
3275            var id = $(node).attr('id');
3276            addAdSlot(id, id.replace('DFP_', ''));
3277        });
3278    });
3279});
3280
3281// call `observe()` on that MutationObserver instance,
3282// passing it the element to observe, and the options object
3283observer.observe(elementToObserve, {subtree: true, childList: true});
3284</script>
3284
3285
3286<script>
3287window.domComplete = performance.now();
3288</script>
3288
3289
3290<script type="text/javascript">
3291path = document.location.href.split("/");
3292var prop30 = qs.get('lp');
3293var prop43 = qs.get('ref');
3294var pType="BlockArticleModule"
3295
3296if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') {
3297    pType = 'ArticleModule';
3298}
3299for(x=4; x<7; x++)
3300{
3301    if (typeof path[x] == 'undefined')
3302    {
3303        path[x] = '';
3304    }
3305    if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1))
3306    {
3307        path[x] = path[x-1];
3308    }
3309    else
3310    {
3311        path[x] = path[x-1] + "/" + path[x];
3312    }
3313    path[x] = path[x].replace(/\/undefined/g,"");
3314}
3315sitename = path[2].split(".");
3316
3317pathN= unescape(document.location.pathname.toString());
3318matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/);
3319detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/);
3320if (detailMatches !== null && detailMatches.length > 1)
3321{
3322    matches = detailMatches;
3323}
3324
3325if (matches !== null && matches.length > 1)
3326{
3327    var subfolder = '';
3328    path[3] = 'li';
3329    path[4] = 'li/'+subfolder;
3330    path[5] = 'li/'+subfolder+'/'+matches[1];
3331    path[6] = 'li/'+subfolder+'/'+matches[1];
3332}
3333if (pathN === '/')
3334{
3335    path[3] = 'homepage';
3336    path[4] = 'homepage';
3337    path[5] = 'homepage';
3338    path[6] = 'homepage';
3339}
3340
3341
3342function filterArray(arr) {
3343    var retArr = [];
3344    $.each(arr, function(i, part) {
3345        if (part !== '') {
3346            retArr.push(part);
3347        }
3348    });
3349
3350    return retArr;
3351}
3352</script>
3352
3353
3354
3355<script type="text/javascript">
3356var known = $.cookie('__siren') ? '1' : '0' ;
3357</script>
3357
3358
3359<script type="text/javascript">
3360
3361var known = $.cookie('__siren') ? '1' : '0' ;
3362var ref = document.referrer;
3363var parser = document.createElement('a');
3364parser.href = ref;
3365
3366// values in the below MUST be strings
3367var targeting = {
3368    'context': 'Business',
3369    'al': 'l',
3370    'domain': 'www.wiltshiretimes.co.uk',
3371    'isLanding': 'no',
3372    'top_path': 'news',
3373    'weather': 'sun'.toLowerCase(),
3374    'jbsjs': ''.toLowerCase(),
3375    'site_search': '',
3376    'bmd_cat': '',
3377    'wt': '11-15',
3378    'cmpid': qs.get('cmpid'),
3379    'refdm': parser.hostname,
3380    'k': known,
3381    'g':  'u' ,
3382    'a':  '0' ,
3383    'topic': 'Aldi',
3384    'publication': '',
3385    'primary_tag_future_use': 'Aldi',
3386    'site': (isMobile()) ? 'mobile': 'desktop',
3387    'r': data_layer.user.subscription_plan !== ''
3388        ? '2'       // 2 = subscribed
3389        : data_layer.user.is_logged_in == 'yes'
3390            ? '1'   // 1 = registered
3391            : '0',  // 0 = anonymous
3392};
3393
3394if (!usePrebid) {
3395    targeting.adrq = 'adl';
3396}
3397
3398if (data_layer.video.exists === 'yes') {
3399    targeting.ptype = 'video';
3400}
3401
3402if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) {
3403    var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN
3404    if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') {
3405        targeting.ao = 'y';
3406    }
3407}
3408
3409if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
3410    targeting.dfpcsnt = 'yes';
3411} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
3412    targeting.dfpcsnt = 'no';
3413} else {
3414    targeting.dfpcsnt = 'none';
3415}
3416
3417if (typeof MobileDetect !== "undefined") {
3418    targeting.canbb = (window.screen.width > 960) ? 'y' : 'n';
3419}
3420
3421if (typeof module_targeting === "object") {
3422    targeting = addToTargeting(targeting, module_targeting);
3423}
3424
3425// $.each(apData, function (k, v) {
3426//     targeting[k] = v;
3427// });
3428
3429// if (typeof gs_channels !== 'undefined') {
3430//     targeting.gs_channels = gs_channels;
3431// }
3432
3433targeting = addToTargeting(targeting, data_layer_helper.homesData);
3434
3435targeting.article_id = '26574471';
3436var googleSiteName = 'www.wiltshiretimes.co.uk';
3437var googlePath = '/news/';
3438
3439var googleNetworkCode = 154725070;
3440
3441var googleChildNetworkCode = 22694024870;
3442var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath;
3443
3444if (googleId.charAt(googleId.length - 1) === '/') {
3445    googleId = googleId.slice(0, -1);
3446}
3447
3448var googletag = googletag || {};
3449googletag.cmd = googletag.cmd || [];
3450
3451googletag.cmd.push(function () {
3452    var _YB = _YB || {
3453        ab: function () {
3454            return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10);
3455        },
3456        dool: Math.random() >= 0.1,
3457    };
3458    var yb_ab;
3459    if (Math.random() <= 0.9) {
3460        yb_ab = _YB.ab();
3461    } else {
3462        yb_ab = "c";
3463    }
3464    googletag.pubads().setTargeting("yb_ab", yb_ab);
3465});
3466
3467googletag.cmd.push(function() {
3468    googletag.pubads().set("adsense_background_color", "FFFFFF");
3469    googletag.pubads().setTargeting('rfs', "0");
3470    $.each(targeting, function (key, value) {
3471
3472        // No real value so exclude
3473        if (value === 0 || value === '' || value === null) {
3474            return;
3475        }
3476        googletag.pubads().setTargeting(key, value);
3477    });
3478
3479});
3480
3481if (isMobile() && '' === 'top') {
3482    $('.desktop-standard-leaderboard').remove();
3483    $('.mobile-top-leaderboard').show();
3484    $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard');
3485} else {
3486    $('.mobile-top-leaderboard').remove();
3487}
3488// Ads
3489var adUnits = [];
3490
3491hideAdsByScreensize();
3492
3493if (blackListAds.length > 0) {
3494    removeBlacklistAds(blackListAds);
3495}
3496
3497$.each(unfilteredAdUnits, function (i, unit) {
3498    removeWhitelistAds(unit);
3499});
3500
3501// set up a holder for all the adverts so we can do things with them later
3502var dfpHolder = {};
3503// the set up code
3504googletag.cmd.push(function() {
3505    $.each(adUnits, function(i, data) {
3506
3507        // check if the dom exists
3508        if ($('#'+data.domName).length === 0) {
3509            return;
3510        }
3511
3512        var dfp = null;
3513
3514        if (data.slotType === 'standard')
3515        {
3516            // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site
3517            var sizes = data.sizes;
3518            if (data.alternate_mobile_size && isMobile()) {
3519                sizes = data.alternate_mobile_size;
3520            }
3521            // push this ad slot through
3522            dfp = googletag.defineSlot(googleId, sizes, data.domName)
3523                .addService(googletag.pubads())
3524                .setTargeting("position", data.positionName)
3525                .setCollapseEmptyDiv(data.collapseContainer);
3526            // check if we have an array of targets, and assign them as a companion if we do
3527            if (data.targets instanceof Array && data.targets.length > 0 ) {
3528                dfp.setTargeting('companion', data.targets);
3529            }
3530
3531        }
3532        else if (data.slotType === 'outofpage')
3533        {
3534            dfp = googletag.defineOutOfPageSlot(googleId, data.domName)
3535                .addService(googletag.pubads())
3536                .setTargeting("position", data.positionName)
3537                .setCollapseEmptyDiv(data.collapseContainer);
3538            // check if we have an array of targets, and assign them as a companion if we do
3539            if (data.targets instanceof Array && data.targets.length > 0 ) {
3540                dfp.setTargeting('companion', data.targets);
3541            }
3542        }
3543
3544        // store
3545        dfpHolder[data.domName] = dfp;
3546
3547    });
3548
3549    if (adLight === true) {
3550        googletag.pubads().setCategoryExclusion('adlight');
3551        // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>';
3552        // if ($('#DFP_premium_mpu').length > 0) {
3553        //     $('#DFP_premium_mpu').before(adlightexplanation);
3554        // }
3555
3556        // if ($('#DFP_standard_mpu_1').length > 0) {
3557        //     $('#DFP_standard_mpu_1').before(adlightexplanation);
3558        // }
3559
3560        // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547];
3561        // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)];
3562        // $('.adlight-explanation-link').click(function(e) {
3563        //     e.preventDefault();
3564        //     $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show();
3565        //     $('#adlight-explanation-modal').modal();
3566        // });
3567    }
3568
3569    // send the request
3570    googletag.pubads().enableSingleRequest();
3571
3572    googletag.enableServices();
3573
3574    googletag.pubads().addEventListener('slotVisibilityChanged', function(event) {
3575        if (event.slot.getResponseInformation().creativeTemplateId === 828288 ||
3576            event.slot.getResponseInformation().creativeTemplateId === 12383216 ) {
3577            console.log('DFP: Magic template id detected, not refreshing');
3578            return;
3579        }
3580        var slotName = '';
3581        $.each(dfpHolder, function (a, e) {
3582            if (e == event.slot) {
3583                slotName = a;
3584            }
3585        });
3586        if (typeof window.advertisingTimer !== 'undefined') {
3587            var perc = event.inViewPercentage;
3588            window.advertisingTimer.timer(slotName, perc);
3589        }
3590    });
3591});
3592
3593// the display code
3594$.each(adUnits, function(i, data) {
3595
3596    // check if the dom exists
3597    if ($('#'+data.domName).length === 0) {
3598        return;
3599    }
3600
3601    if (data.domName === 'DFP_interstitial_mpu') {
3602        if (!inter.checkVisit()) {
3603            return;
3604        }
3605    }
3606
3607    // are we manually loading it?
3608    if ($('#'+data.domName).attr('data-manual-loading') === "yes") {
3609        return;
3610    }
3611    // for mobile, we check if the dom element has the data-delay-loading attribute set to "1"
3612    else if ($('#'+data.domName).attr('data-delay-loading') === "yes") {
3613
3614        // load it
3615        $('#'+data.domName).appear();
3616        $(document.body).on('appear', '#'+data.domName, function(e, allElement) {
3617
3618            // don't call it many times
3619            if ($(this).attr('data-processed') === 'yes') {
3620                return;
3621            }
3622
3623            $(this).attr('data-processed', 'yes');
3624
3625            // display the google ad
3626            googletag.display(data.domName);
3627            googletag.pubads().refresh([dfpHolder[data.domName]]);
3628        });
3629        return;
3630    }
3631    googletag.cmd.push(function() {
3632        googletag.display(data.domName);
3633    });
3634});
3635window.googleComplete = performance.now();
3636window.googleReady = true;
3637
3638// METHODS
3639function addToTargeting(targeting, data) {
3640    if (!data) {
3641        return targeting;
3642    }
3643    $.each(data, function (key, value) {
3644        if (!value) {
3645            return;
3646        }
3647        targeting[key] = value;
3648    });
3649    return targeting;
3650}
3651
3652function addAdSlot(slotName, slot, initHidden) {
3653    console.log("Add ad slot called for %s %s", slotName, slot);
3654    // check if item already exists
3655    if (typeof window.dfpHolder[slotName] !== 'undefined') {
3656        return;
3657    }
3658
3659    if (window.adLight === true) {
3660        return;
3661    }
3662    window.googletag.cmd.push(function() {
3663        var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName)
3664            .setTargeting('position', [slot])
3665            .addService(googletag.pubads());
3666        window.dfpHolder[slotName] = dfp;
3667
3668        if (!initHidden) {
3669            googletag.pubads().refresh([dfp]);
3670
3671            return;
3672        }
3673    });
3674}
3675
3676function hideAdsByScreensize() {
3677    if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) {
3678        if ('59' === '1147') {
3679            $('#DFP_out_of_page').remove();
3680        } else {
3681            $('#DFP_premium_mpu').remove();
3682        }
3683        $('#DFP_on_scroll').remove();
3684    } else if (window.screen.width < 728 &&
3685        ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 ||
3686        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0  ||
3687        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0  ||
3688        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 )
3689    ) {
3690        const adElement = document.querySelector('#high_vis_container');
3691        $('.omnicard[data-position="5"]').after(adElement);
3692    }
3693
3694    if ('59' === '1147' && window.screen.width > 450) {
3695        $('#DFP_bottom_leaderboard').remove();
3696    }
3697
3698    if ('59' === '1147' && window.screen.width < 728) {
3699        $('#DFP_top_leaderboard').remove();
3700    }
3701
3702    if ('59' === '1147') {
3703        $('#DFP_teads').remove();
3704        $('#DFP_out_of_page').remove();
3705    }
3706
3707    if ($('#comments-in-page').length === 1 && window.screen.width > 450) {
3708        $('#DFP_top_leaderboard').parent().remove();
3709        $('#DFP_bottom_leaderboard').parent().remove();
3710        // $('#DFP_standard_mpu_1').parent().remove();
3711    }
3712}
3713
3714function removeBlacklistAds(blackListAds) {
3715    $.each(blackListAds, function(i, name) {
3716        removeAdContainer(name);
3717    });
3718}
3719
3720function removeWhitelistAds(unit) {
3721    // VAST (video) ad units never get displayed in here.
3722    if (unit.isVast) {
3723        return;
3724    }
3725
3726    // if we have an ad-light experience
3727    if (whiteList === true) {
3728        if (typeof whiteListAds[unit.positionName] === 'undefined') {
3729            removeAdContainer(unit.domName)
3730            return;
3731        }
3732    }
3733
3734    adUnits.push(unit);
3735}
3736
3737function removeAdContainer(name) {
3738    const element = document.getElementById(name);
3739    // doesn't exist? exit
3740    if(!element) {
3741        return;
3742    }
3743
3744    const parent = element.parentElement;
3745    if (parent && parent.classList.contains('block-bottom-margin')) {
3746        // if immediate parent contains block-bottom-margin as a class, remove the parent as well
3747        parent.classList.remove('block-bottom-margin');
3748    }
3749    if (parent && parent.classList.contains('mar-leaderboard--top')) {
3750        // in case of leaderboard, remove as has min-height
3751        parent.remove();
3752        return;
3753    }
3754
3755    if (parent && parent.classList.contains('mar-leaderboard--bottom')) {
3756        // in case of article ad container, remove as has min-height
3757        parent.remove();
3758        return;
3759    }
3760
3761    element.remove();
3762}
3763</script>
3763
3764
3765
3766<script src="/resources/responsive-static/build/mds/js/global.js?cb=mkW8NyPe"></script>
3766
3767
3768
3769
3770
3771
3772<script src="/__siren/"></script>
3772
3773
3774
3775<script src="//uatu.newsquestdigital.co.uk/collector.php?article_id=26574471&site_id=59"></script>
3775
3776<!--
3776<script src="//uatu.newsquestdigital.co.uk/recommender-json-2.php?article_id=26574471&site_id=59"></script>
3776 -->
3777
3778
3779<script type="text/javascript">
3780    var s_account="newsquestgroupprod";
3781</script>
3781
3782
3783<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=mkW8NyPe"></script>
vendor: 1 bytes, line 3783
3783
3784<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=mkW8NyPe"></script>
3784
3785
3786<script type="text/javascript">
3787
3788function getOmniturePath() {
3789    var path = '';
3790    if ($('#gallery-base-url').length === 1) {
3791        path = $('#gallery-base-url').val();
3792    }
3793    else {
3794        path = window.location.pathname;
3795    }
3796    return path;
3797}
3798
3799function getPositionFromCookie() {
3800    const cookieName = 'tracking_block_index';
3801
3802    const ref = document.cookie
3803        .split('; ')
3804        .find(row => row.startsWith(`${cookieName}=`))
3805        ?.slice(cookieName.length + 1);
3806
3807    document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`;
3808
3809    return ref ? decodeURIComponent(ref) : undefined;
3810}
3811function getRefFromCookie() {
3812    const cookieName = 'tracking_block';
3813
3814    const ref = document.cookie
3815        .split('; ')
3816        .find(row => row.startsWith(`${cookieName}=`))
3817        ?.split('=')[1];
3818
3819    // Remove the cookie
3820    document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`;
3821
3822    return ref;
3823}
3824
3825function getOmnitureTrackingFromCookie(key, preExistingValue) {
3826    var ref = $.cookie('o-' + key);
3827    if(typeof(ref) === 'undefined') {
3828    	ref  = preExistingValue
3829    } else {
3830    	ref = decodeURIComponent(ref);
3831    	$.removeCookie('o-' + key, {
3832            path: '/',
3833            domain: window.data_layer.site.cookie_domain,
3834        });
3835    }
3836    return ref;
3837}
3838
3839function getValidatedAPList() {
3840
3841    var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975];
3842
3843    var data = getAudienceProjectTargetingData();
3844    if (!data || !data.ap_x) {
3845        return '';
3846    }
3847
3848    validData = [];
3849    $.each(data.ap_x, function(i, td) {
3850        if ($.inArray(parseInt(td, 10), validList) !== -1) {
3851            validData.push(td);
3852        }
3853    });
3854
3855    return validData.join(',');
3856}
3857
3858path = document.location.href.split("/");
3859
3860var qs = new URLSearchParams(window.location.search);
3861
3862var prop30 = qs.get('lp');
3863var prop43 = qs.get('ref');
3864var pType="BlockArticleModule"
3865
3866if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') {
3867    pType = 'ArticleModule';
3868}
3869
3870for(x=4; x<7; x++)
3871{
3872    if (typeof path[x] == 'undefined')
3873    {
3874        path[x] = '';
3875    }
3876    if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1))
3877    {
3878        path[x] = path[x-1];
3879    }
3880    else
3881    {
3882        path[x] = path[x-1] + "/" + path[x];
3883    }
3884    path[x] = path[x].replace(/\/undefined/g,"");
3885}
3886pathN= unescape(document.location.pathname.toString());
3887matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/);
3888detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/);
3889if (detailMatches !== null && detailMatches.length > 1)
3890{
3891    matches = detailMatches;
3892}
3893
3894if (matches !== null && matches.length > 1)
3895{
3896    var subfolder = '';
3897    path[3] = 'li';
3898    path[4] = 'li/'+subfolder;
3899    path[5] = 'li/'+subfolder+'/'+matches[1];
3900    path[6] = 'li/'+subfolder+'/'+matches[1];
3901}
3902if (pathN === '/')
3903{
3904    path[3] = 'homepage';
3905    path[4] = 'homepage';
3906    path[5] = 'homepage';
3907    path[6] = 'homepage';
3908}
3909
3910
3911/* You may give each page an identifying name, server, and channel on
3912the next lines. */
3913s.pageName="(www) "+getOmniturePath();
3914s.pageName = s.pageName.toLowerCase();
3915s.server="martini";
3916s.channel="";
3917s.pageType="";
3918s.prop1= qs.get('search');
3919s.prop2="";
3920s.prop3=document.title;
3921s.prop4="26574471";
3922s.prop5="BlockArticleModule"; /* get from Martini */
3923s.prop6=path[3].toLowerCase();
3924s.prop7=path[4].toLowerCase();
3925s.prop8=path[5].toLowerCase();
3926s.prop9=path[6].toLowerCase();
3927s.prop10="";
3928s.prop15="none|use author profile|peter davison";
3929s.prop16=path[2].toLowerCase();
3930s.prop17="Wiltshire";
3931s.prop18="Martini";
3932s.prop19="1";
3933s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn');
3934s.prop42 = "";
3935s.prop53 = 'standard';
3936s.prop54 = '';
3937s.prop55 = '';
3938s.prop56 = "BAM Standard Article";
3939s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled';
3940s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant;
3941s.prop59 = getRefFromCookie();
3942s.prop60 = getPositionFromCookie();
3943s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null;
3944
3945var eVar67 = [];
3946
3947if ($.cookie('consentUUID')) {
3948    eVar67.push('yes');
3949} else {
3950    eVar67.push('no');
3951}
3952if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
3953    eVar67.push('yes');
3954} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
3955    eVar67.push('no');
3956} else {
3957    eVar67.push('none');
3958}
3959
3960if ($.cookie('_sp_legitimate_interests') === 'true') {
3961    eVar67.push('yes');
3962} else if ($.cookie('_sp_legitimate_interests') === 'false') {
3963    eVar67.push('no');
3964} else {
3965    eVar67.push('none');
3966}
3967
3968//if ($.cookie('euconsent')) {
3969//    eVar67.push($.cookie('euconsent'));
3970//} else {
3971//    eVar67.push('none');
3972//}
3973
3974s.eVar67 = eVar67.join(',');
3975// console.log('ADB: setting eVar67 to %s', eVar67.join(','));
3976
3977if ($.cookie('prev-tcf-v2')) {
3978    // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2'));
3979    s.eVar68 = $.cookie('prev-tcf-v2');
3980}
3981
3982if (typeof iabNames !== 'undefined') {
3983    s.prop29 = iabNames.join(',');
3984} else if (typeof iabIds !== 'undefined') {
3985    s.prop29 = iabIds.join(',');
3986}
3987
3988if (s.prop20 && s.prop20 !== 'no value') {
3989    s.prop21 = s.getPercentPageViewed();
3990} else {
3991    s.prop21 = '';
3992}
3993
3994if (typeof __siren !== 'undefined') {
3995    s.eVar27 = __siren;
3996}
3997
3998s.prop22 = s.getDaysSinceLastVisit('s_lv');
3999
4000
4001s.prop43=getOmnitureTrackingFromCookie('ref', prop43);
4002s.prop25 = 'Business'
4003
4004s.prop27 = '';
4005s.prop28='3598'
4006s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30);
4007s.linkInternalFilters="javascript:,wiltshiretimes.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,"
4008s.eVar61=(new Date()).toLocaleDateString("en-GB");
4009/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */
4010
4011s.eVar63 = "+1";
4012/* s.eVar64 = "+1"; */
4013
4014s.eVar60 = "1,metered,no";
4015
4016s.prop61 = 'news';
4017s.prop62 = '39624';
4018s.prop63 = '25;18823;24008;18844;20860;32873';
4019s.prop64 = '';
4020
4021s.prop66 = '';
4022s.prop66 += ($('#inArticleAd').length > 0) ? "y;" : "n;";
4023s.prop66 += ($('#inArticleAd-1').length > 0) ? "y;" : "n;";
4024s.prop66 += ($('#inArticleAd-2').length > 0) ? "y;" : "n;";
4025s.prop66 += ($('#inArticleAd-3').length > 0) ? "y;" : "n;";
4026s.prop66 += ($('#inArticleAd-4').length > 0) ? "y;" : "n;";
4027s.prop66 += ($('#inArticleAd-5').length > 0) ? "y;" : "n;";
4028s.prop66 += ($('#inArticleAd-6').length > 0) ? "y;" : "n;";
4029s.prop66 += ($('#inArticleAd-7').length > 0) ? "y;" : "n;";
4030s.prop66 += ($('#inArticleAd-8').length > 0) ? "y"  : "n";
4031s.prop66 += ($('#inArticleAd-9').length > 0) ? "y"  : "n";
4032s.prop66 += ($('#inArticleAd-10').length > 0) ? "y"  : "n";
4033
4034s.eVar107 = '1';
4035s.eVar108 = '1903';
4036
4037
4038
4039s.eVar104 = 'Planning and development';
4040
4041
4042
4043s.prop56 = "BAM Standard Article";
4044
4045
4046/* Article-site-cloning data */
4047s.eVar90 = window.data_layer.article.parent_originating_site_id;
4048s.eVar91 = window.data_layer.article.originating_article_id;
4049s.eVar92 = window.data_layer.article.is_original_to_site;
4050s.eVar95 = window.data_layer.site.using_piano_id;
4051s.eVar106 = 'No AI or automation';
4052
4053s.eVar109 = '';
4054
4055/* Uber block article counts */
4056s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count;
4057
4058/* Conversion Variables */
4059s.campaign=""
4060s.state=""
4061s.zip=""
4062s.events=""
4063s.products=""
4064s.purchaseID=""
4065s.eVar14=""
4066try {
4067    s.list3=getValidatedAPList();
4068} catch (e) {
4069    // do nothing
4070}
4071
4072
4073
4074
4075// Initial fotorama tracking.
4076var moduleType = null;
4077if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') {
4078    moduleType = 'article';
4079} else if (s.prop5 === 'PictureGalleryModule') {
4080    moduleType = 'gallery';
4081}
4082
4083if ($('#comments-in-page').length === 1) {
4084    moduleType = 'comments';
4085}
4086
4087if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') {
4088    var imagePath = '';
4089
4090    if ($('.fotorama').length > 0) {
4091        // Get the first Fotorama image.
4092        try {
4093            var el = $('.fotorama').data('fotorama').data[0].html;
4094            var url = $(el).find('div').css('background-image');
4095            imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, "");
4096        } catch (e) {
4097        }
4098    } else {
4099        // If there's just one image (i.e. it's not a gallery), find its path.
4100        var imagePathSingle = $('#mainImage').attr('src');
4101        if (typeof imagePathSingle !== 'undefined') {
4102            imagePath = imagePathSingle.split('.')[0] + '/';
4103        }
4104    }
4105    var imageParts = imagePath.split('/');
4106    if (imageParts.length > 1) {
4107        s.eVar37 = imageParts[imageParts.length - 2];
4108        s.prop37 = imageParts[imageParts.length - 2];
4109        s.events = s.apl(s.events, 'event7', ',', 2);
4110    }
4111    s.eVar36 = moduleType;
4112    s.prop36 = moduleType;
4113}
4114
4115
4116
4117// Education pages.
4118if (s.prop5 === 'ResponsiveEducationModule') {
4119    // School profile page.
4120    if ($('#eduOverview').length > 0) {
4121        s.eVar40 = $('#eduOverview').data('school-status');
4122        s.prop40 = s.eVar40;
4123        s.prop41 = 'edu-' + $('#eduOverview').data('school-urn');
4124        s.prop46 = $('#town').text();
4125    }
4126
4127    // Comparison page.
4128    if ($('#eduComparisonTable').length > 0) {
4129        s.list1 = '';
4130    }
4131
4132    // Results page.
4133    if ($('.school-results').length > 0) {
4134        s.list1 = '';
4135
4136        // Track the search criteria.
4137        s.prop44 = '';
4138        s.prop45 = "".toLowerCase();
4139        s.prop46 = "".toLowerCase();
4140        s.prop49 = '';
4141        s.prop50 = '';
4142        s.prop51 = '';
4143        s.eVar2 = s.prop50;
4144
4145        var newSearch = false;
4146        if (newSearch) {
4147            s.events = s.apl(s.events, 'event17', ',', 1);
4148        }
4149    }
4150}
4151
4152// Notices Module
4153if (s.prop5 === 'NewsquestModulesNoticesModule') {
4154    // Notices Find page.
4155    if (s.pageName.includes('notices/find')) {
4156        s.pageName = '(www) /notices/find/';
4157        s.eVar50 = '';
4158        const noticesURL = new URL(window.location.href);
4159        const noticesParams = new URLSearchParams(noticesURL.search);
4160
4161        s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None';
4162        s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best';
4163        s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1;
4164        s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All';
4165        s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no';
4166        s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month';
4167
4168        if (noticesParams.has('sort')) {
4169            switch (noticesParams.get('sort')) {
4170                case 'date_asc':
4171                    s.eVar51 = 'oldest';
4172                    break;
4173                case 'date_desc':
4174                    s.eVar51 = 'newest';
4175                    break;
4176                case 'best_match':
4177                    s.eVar51 = 'best';
4178                    break;
4179                default:
4180                    s.eVar51 = noticesParams.get('sort');
4181                    break;
4182            }
4183        }
4184
4185        // Concatenate all search params into eVar44
4186        if (noticesParams.size > 0) {
4187            const searchParams = new URL(window.location.href).searchParams;
4188            s.eVar44 = '';
4189            searchParams.forEach((value, key) => {
4190                s.eVar44 += `${key}=${value},`;
4191            });
4192        } else {
4193            s.eVar44 = '';
4194        }
4195
4196        // Adobe Search Event triggering
4197        const setNoticePaginationClicked = (value) => {
4198            localStorage.setItem("isNoticePaginationClicked", value);
4199        };
4200
4201        const noticeSearchInput = document.getElementById("notices-search");
4202        const noticeSearchBtn = document.getElementById("notice-search-find");
4203        const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn');
4204        const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg');
4205        const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg');
4206
4207        noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false'));
4208        noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false'));
4209
4210        noticePaginationBtns.forEach(btn => {
4211            btn.addEventListener('click', () => setNoticePaginationClicked('true'));
4212        });
4213
4214        noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true'));
4215        noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true'));
4216
4217        if (localStorage.getItem("isNoticePaginationClicked") === 'false') {
4218            s.events = s.apl(s.events, 'event1', ',', 1);
4219        }
4220    }
4221
4222    if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) {
4223        s.pageName = '(www) /notices/funeral-director/';
4224        s.eVar41 = '';
4225    }
4226}
4227
4228if (s.prop5 === 'NewsquestModulesNoticeModule') {
4229    s.eVar41 = '';
4230    const type = window.announcement_data?.details?.type || '';
4231    const subCategory = window.announcement_data?.details?.sub_category || '';
4232    s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`;
4233    s.eVar42 = window.announcement_data?.details?.id || '';
4234    s.eVar107 = '1';
4235    s.eVar119 = '';
4236    s.eVar120 = '';
4237    s.eVar2 = "(www) /notice/";
4238}
4239
4240//New Property module
4241if (s.prop5 === 'ResponsivePropertyModule') {
4242    /*
4243        Use prop42 for single and list pages, for list pages use hyphen separate lists of id's
4244    */
4245    
4246    
4247    //Property's all over the place (homepage, searches etc - HOM-133
4248
4249    //Property Detail - HOM-131, HOM-134, HOM-130
4250
4251    //Contact us submissions - HOM-137
4252    if($('#propertyModule.agent-details').length > 0) {
4253        //Add a click handler for a.contact-detail
4254    }
4255
4256
4257}
4258
4259// is their a video tag on the page?
4260if ($('.exco-embed').length > 0) {
4261    console.log('VID: setting tracking for event50');
4262    s.events = s.apl(s.events, 'event50', ',', 1);
4263}
4264
4265var foundAutoPlayVid = false;
4266$('.jw-outer').each(function (a, domEle) {
4267    if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) {
4268        console.log('VID: setting tracking for event51');
4269        s.events = s.apl(s.events, 'event51', ',', 1);
4270        foundAutoPlayVid = true;
4271    }
4272});
4273
4274
4275
4276
4277
4278
4279
4280s.eVar66 = 'Ad-Full';
4281s.eVar114 = '';
4282
4283
4284
4285    // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0);
4286    // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) {
4287    //     s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event.
4288    //     s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event.
4289    //     s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;";
4290    //     s.purchaseID = "";
4291    // }
4292
4293
4294if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) {
4295    s.events=s.apl(s.events,'event9',',',2)
4296}
4297/* Hierarchy Variables */
4298s.hier1="newsquest," + "Wiltshire" + ",www.wiltshiretimes.co.uk," + path[6].replace(/\//,",");
4299
4300if (typeof MartiniFotorama !== 'undefined') {
4301    MartiniFotorama.loadOmniture(s);
4302}
4303s.prop39 = "0";
4304
4305
4306
4307// Tracking usage of Bytecast audio embeds in articles.
4308s.eVar82 = 'no';
4309s.eVar83 = '';
4310
4311    console.log('ADB: starting');
4312    console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA
4313
4314// Tracking of Commenting Registration FLow
4315if (s.prop5 !== 'BlockArticleModule') {
4316    const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions');
4317    if (storedAdobeDimensions) {
4318        const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions);
4319        s.eVar10 = storedAdobeDimensionObj.eVar10;
4320        s.eVar15 = storedAdobeDimensionObj.eVar15;
4321        s.eVar22 = storedAdobeDimensionObj.eVar22;
4322        s.eVar23 = storedAdobeDimensionObj.eVar23;
4323        s.eVar24 = storedAdobeDimensionObj.eVar24;
4324        s.eVar25 = storedAdobeDimensionObj.eVar25;
4325        s.eVar28 = storedAdobeDimensionObj.eVar28;
4326        s.eVar60 = storedAdobeDimensionObj.eVar60;
4327        s.eVar104 = storedAdobeDimensionObj.eVar104;
4328        s.eVar106 = storedAdobeDimensionObj.eVar106;
4329        s.eVar107 = storedAdobeDimensionObj.eVar107;
4330        s.eVar108 = storedAdobeDimensionObj.eVar108;
4331        s.prop63 = storedAdobeDimensionObj.prop63;
4332    }
4333}
4334
4335if (window.location.href.includes("/user/create-account/commenting/")) {
4336    s.eVar2 = '(www) /user/create-account/commenting/';
4337}
4338
4339/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
4340if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) {
4341    var s_code=s.t();
4342    var backupAdobe = s;
4343
4344    if(s_code)document.write(s_code)
4345}
4346
4347// Storing the visiting dimensions
4348if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) {
4349    const adobeTrackingVisitingDimensions = {
4350        eVar10: s.eVar10,
4351        eVar22: s.eVar22,
4352        eVar23: s.eVar23,
4353        eVar24: s.eVar24,
4354    }
4355    sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions));
4356}
4357
4358//--></script>
4358
4359<!-- End SiteCatalyst code version: H.19.3. -->
4360
4361
4362
4363
4364    
4364<script src="/resources/responsive-static/build/mds/js/article.js?cb=mkW8NyPe"></script>
4364
4365
4366
4367<script>
4368    if ('' !== '') {
4369        setTimeout(function() {
4370            data_layer_helper.loadScript(
4371                "/resources/responsive-static/build/mds-next/js/.js?cb=mkW8NyPe",
4372                true,
4373                null,
4374                "module"
4375            )
4376        }, 500);
4377    }
4378</script>
4378
4379
4380</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.