CINXE.COM
Metro Service Changes | Transport for Wales
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# "> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://tfw.wales/projects/metro/service-changes","20231211213441","http://web.archive.org/","web","/_static/", "1702330481"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"538476161",accountID:"3139283",trustKey:"3139283",xpid:"VwcEWFRbCxAFV1FQAgcCV1c=",licenseKey:"NRJS-34dae6faa52b003b8b9",applicationID:"530256513"};;/*! For license information please see nr-loader-spa-1.248.0.min.js.LICENSE.txt */ (()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>s,DL:()=>A,OP:()=>D,lF:()=>N,Yu:()=>x,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>j});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.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},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=()=>{const e={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{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},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},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:50,error_sampling_rate:50,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=t+",[data-nr-mask]":null===t?e.mask_selector=t:(0,l.Z)("An invalid session_replay.mask_selector was provided and will not be used",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){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",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.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},h={},p="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(p);if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function m(e,t){if(!e)throw new Error(p);h[e]=(0,i.D)(t,f());const r=(0,n.ek)(e);r&&(r.init=h[e])}function v(e,t){if(!e)throw new Error(p);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const b={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},y={};function A(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!y[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return y[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");y[e]=(0,i.D)(t,b);const r=(0,n.ek)(e);r&&(r.loader_config=y[e])}const x=(0,n.mF)().o;var E=r(385),_=r(6818);const T={buildEnv:_.Re,customTransaction:void 0,disabled:!1,distMethod:_.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(E._A?.performance?.timeOrigin||E._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof E._A.XMLHttpRequest?.prototype?.addEventListener,version:_.q4,denyList:void 0},S={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!S[e])throw new Error("Runtime for ".concat(e," was never set"));return S[e]}function j(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");S[e]=(0,i.D)(t,T);const r=(0,n.ek)(e);r&&(r.runtime=S[e])}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.248.0",i="PROD",o="CDN",a="2.0.0-alpha.11"},385:(e,t,r)=>{"use strict";r.d(t,{FN:()=>c,IF:()=>l,LW:()=>a,Nk:()=>h,Tt:()=>u,_A:()=>o,cv:()=>p,iS:()=>s,il:()=>n,ux:()=>d,v6:()=>i,w1:()=>f});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a="complete"===o?.document?.readyState,s=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,u=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Boolean(n&&window.document.documentMode),h=!!o.navigator?.sendBeacon,p=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((t=>{let[r]=t;s[e].delete(r),a(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,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,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,u.backlog={}}d.ee||(d.ee=u)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s<e;s++)a.push(o(r,++i).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{"use strict";function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{"use strict";r.d(t,{e:()=>i});var n=r(385);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._A?.location?.protocol&&t.host===n._A?.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{}}}},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>d,T:()=>l});var n=r(8325),i=r(5546),o=r(3325),a=r(385);const s="newrelic";const c={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},u=new Set;function d(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(u.has(t)||(Object.entries(e).forEach((e=>{let[t,n]=e;c[t]?c[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),l[t]=Boolean(n)})),Object.keys(c).forEach((e=>{void 0===l[e]&&(c[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),l[e]=!1)})),u.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{a._A.dispatchEvent(new CustomEvent(s,{detail:e}))}catch(e){}}({loaded:!0})))}const l={}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>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}},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,n.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{"use strict";r.d(t,{em:()=>b,u5:()=>D,QU:()=>C,_L:()=>I,Gm:()=>H,Lg:()=>L,BV:()=>G,Kf:()=>K});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=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)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const S={};function D(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,x.forEach((e=>{r(E[T],e,w),r(_[T],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const j={},N=["pushState","replaceState"];function C(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||j[t.debugId]++||(j[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var R=r(3239);const O={},P=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||O[t.debugId])return t;O[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,P,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,R.m$)(!1)),e.removeEventListener("error",f,(0,R.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,R.m$)(!1)),e.removeEventListener("error",f,(0,R.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,R.m$)(!1)),e.addEventListener("error",f,(0,R.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function H(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const M={},F="setTimeout",B="setInterval",U="clearTimeout",Z="-start",V="-",q=[F,"setImmediate",B,U,"clearImmediate"];function G(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(M[t.debugId]++)return t;M[t.debugId]=1;var r=c(t);return r.inPlace(f._A,q.slice(0,2),F+V),r.inPlace(f._A,q.slice(2,3),B+V),r.inPlace(f._A,q.slice(3),U+V),t.on(B+Z,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(F+Z,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},Y=["open","send"];function K(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,R.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,Y,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.sessionReplay},3614:(e,t,r)=>{"use strict";r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{"use strict";r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>w,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,A="-start",w="-end",x="-body",E="cb"+w,_="jsTime",T="fetch"},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},7530:(e,t,r)=>{"use strict";r.d(t,{j:()=>b});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);function p(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start","recordReplay","pauseReplay"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var g=r(2825);const m=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let v=!1;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},b=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:A,info:w,loader_config:x,runtime:E={loaderType:b},exposed:_=!0}=t;const T=(0,h.gG)();w||(A=T.init,w=T.info,x=T.loader_config),(0,i.Dg)(e.agentIdentifier,A||{}),(0,i.GE)(e.agentIdentifier,x||{}),w.jsAttributes??={},d.v6&&(w.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,w);const S=(0,i.P_)(e.agentIdentifier),D=[w.beacon,w.errorBeacon];v||(S.proxy.assets&&(m(S.proxy.assets),D.push(S.proxy.assets)),S.proxy.beacon&&D.push(S.proxy.beacon),p(),(0,h.EZ)("activatedFeatures",g.T)),E.denyList=[...S.ajax.deny_list||[],...S.ajax.block_internal?D:[]],(0,i.sU)(e.agentIdentifier,E),void 0===e.api&&(e.api=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),g=p.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),w(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","addRelease"].forEach((e=>{h[e]=w(m,e,!0,"api")})),h.addPageAction=w(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=w(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://web.archive.org/web/20231211213441/http://custom.transaction")+t,w(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return b("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.recordReplay=function(){(0,o.p)(f.xS,["API/recordReplay/called"],void 0,n.D.metrics,p),(0,o.p)("recordReplay",[],void 0,n.D.sessionReplay,p)},h.pauseReplay=function(){(0,o.p)(f.xS,["API/pauseReplay/called"],void 0,n.D.metrics,p),(0,o.p)("pauseReplay",[],void 0,n.D.sessionReplay,p)},h.interaction=function(){return(new y).get()};var A=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(f.xS,["API/createTracer/called"],void 0,n.D.metrics,p),(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(g.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw g.emit("fn-err",[arguments,this,e],r),e}finally{g.emit("fn-end",[(0,s.z)()],r)}}}};function w(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function x(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,l.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{A[e]=w(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b2)((()=>x()),!0):x(),h}(e.agentIdentifier,y)),void 0===e.exposed&&(e.exposed=_),v=!0}},1926:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.248.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.248.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}s||(c=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),s.integrity=i.sriHashes[a],s.crossOrigin="anonymous"),e[r]=[n];var f=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="http://web.archive.org/web/20231211213441/https://js-agent.newrelic.com/",i.sriHashes={111:"sha512-ZwkW/wLO65ZnBcPIJO2VJVqTtRyXCRZiimLidZm1CYZfRiDwnchDLGFiEKDNkhfy/b1cgD3SElt5YjVudzleDQ=="},(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.248.0.PROD"]=self["webpackChunk:NRBA-1.248.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(1926);var e=i(50);class t{addPageAction(t,r){(0,e.Z)("Call to agent api addPageAction failed. The page action feature is not currently initialized.")}setPageViewName(t,r){(0,e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.")}setCustomAttribute(t,r,n){(0,e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.")}noticeError(t,r){(0,e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.")}setUserId(t){(0,e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.")}setApplicationVersion(t){(0,e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.")}setErrorHandler(t){(0,e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.")}finished(t){(0,e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.")}addRelease(t,r){(0,e.Z)("Call to agent api addRelease failed. The js errors feature is not currently initialized.")}start(t){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}recordReplay(){(0,e.Z)("Call to agent api recordReplay failed. The agent is not currently initialized.")}pauseReplay(){(0,e.Z)("Call to agent api pauseReplay failed. The agent is not currently initialized.")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(7530);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,3228));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName),o(!1)}};l.il?(0,d.b2)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplayMode))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=A(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,m.D)(e,w)}function w(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),S=i(7956),D=i(3239),j=i(7894),N=i(9251);class C extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,j.z)()],void 0,N.t,this.ee)),!0),(0,D.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,j.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var R=i(3081);class O extends f{static featureName=R.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,R.t9,r),this.importAggregator()}}var P=i(6660);class I{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=P.t;#e=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#e.has(n)&&(this.#e.add(n),(0,T.p)("err",[this.#t(n),(0,j.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#t(e),(0,j.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#r(e),(0,j.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,D.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#e.has(e.error)?this.#e.delete(e.error):(0,T.p)("err",[this.#n(e),(0,j.z)()],void 0,r.D.jserrors,this.ee))}),(0,D.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.#e.clear(),this.abortHandler=void 0}#t(e){return e instanceof Error?e:void 0!==e?.message?new I(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new I("string"==typeof e?e:(0,_.P)(e))}#r(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new I(t);const r=this.#t(e.reason);return r.message=t+r.message,r}#n(e){return e.error instanceof Error?e.error:new I(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let z=1;const L="nr@id";function M(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,H.X)(e,L,(function(){return z++}))}function F(e){if("string"==typeof e&&e.length)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,_.P)(e).length}catch(e){return}}}var B=i(1214),U=i(7243);class Z{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}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,o){if(!("function"==typeof l._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),q=["load","error","abort","timeout"],G=q.length,W=n.Yu.REQ,X=n.Yu.XHR;class Y extends f{static featureName=V.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new Z(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};K(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,D.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,D.m$)(!1))}function s(e){this.params={method:e[0]},K(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,j.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<G;s++)r.addEventListener(q[s],this.listener,(0,D.m$)(!1))}function d(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 f(e,t){var r=""+M(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+M(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,j.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,j.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,j.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.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,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}function s(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 A(e,t){this.params={},this.metrics={},this.startTime=(0,j.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),K(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,j.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,j.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<G;o++)e.removeEventListener(q[o],this.listener,!1);t.aborted||(n.duration=(0,j.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function K(e,t){var r=(0,U.e)(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 Q=i(3614);const{BST_RESOURCE:J,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=Q;var se=i(7144);class ce extends f{static featureName=se.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,se.t,r),this.importAggregator()}}var ue=i(7836);const{FEATURE_NAME:de,START:le,END:fe,BODY:he,CB_END:pe,JS_TIME:ge,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var Ae=i(4649);class we extends f{static featureName=Ae.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,Ae.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},(0,x.h5)(r,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),(0,s.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){try{const t=a(this.agentIdentifier),n=[...this.desiredFeatures];n.sort(((e,t)=>r.p[e.featureName]-r.p[t.featureName])),n.forEach((n=>{if(t[n.featureName]||n.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(n.featureName);i.every((e=>t[e]))||(0,e.Z)("".concat(n.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[n.featureName]=new n(this.agentIdentifier,this.sharedAggregator)}}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}addToTrace(t){(0,e.Z)("Call to agent api addToTrace failed. The session trace feature is not currently initialized.")}setCurrentRouteName(t){(0,e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.")}interaction(){(0,e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.")}}({features:[Y,p,C,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,B.QU)(n),this.eventsEE=(0,B.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,j.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,j.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,j.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(J,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ce,O,we,k,class extends f{static featureName=de;constructor(e,t){if(super(e,t,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,B._L)(this.ee),s=(0,B.Lg)(this.ee),c=(0,B.BV)(this.ee),u=(0,B.Kf)(this.ee),d=this.ee.get("events"),f=(0,B.u5)(this.ee),h=(0,B.QU)(this.ee),p=(0,B.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[ve]=(0,j.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,j.z)();this[ge]=~~this[ge]+e-this[ve],this[ye]=e}function b(e,t){e.on(t,(function(){this[t]=(0,j.z)()}))}this.ee.on(ve,m),s.on(be,m),a.on(be,m),this.ee.on(ye,v),s.on(pe,v),a.on(pe,v),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),d.buffer([ve],this.featureName),c.buffer(["setTimeout"+fe,"clearTimeout"+le,ve],this.featureName),u.buffer([ve,"new-xhr","send-xhr"+le],this.featureName),f.buffer([me+le,me+"-done",me+he+le,me+he+fe],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([ve],this.featureName),s.buffer(["propagate",be,pe,"executor-err","resolve"+le],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,me+le),b(f,me+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,D.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})();</script> <meta name="description" content="To purpose build the metro service for a future-first approach to travel, our project may interfere with your travel plans. Learn how with TfW and plan ahead."/> <link rel="canonical" href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes"/> <meta property="og:url" content="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes"/> <meta property="og:title" content="Changes to train services | Transport for Wales"/> <meta property="og:description" content="Transport for Wales | Buy Cheap Train Tickets and Check Train Times"/> <meta property="og:image" content="http://web.archive.org/web/20231211213441im_/https://tfw.wales/sites/default/files/2021-06/transport-for-wales-og-social.jpg"/> <meta name="twitter:title" content="Changes to train services | Transport for Wales"/> <meta name="twitter:url" content="http://web.archive.org/web/20231211213441im_/https://tfw.wales/projects/metro/service-changes"/> <meta name="MobileOptimized" content="width"/> <meta name="HandheldFriendly" content="true"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <link rel="icon" href="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/tfw-favicon-32x32.png" type="image/png"/> <link rel="alternate" hreflang="en" href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes"/> <link rel="alternate" hreflang="cy" href="http://web.archive.org/web/20231211213441/https://trc.cymru/prosiectau/metro/newidiadau-gwasanaeth"/> <title>Metro Service Changes | Transport for Wales</title> <link rel="stylesheet" media="all" href="/web/20231211213441cs_/https://tfw.wales/sites/default/files/css/css_o_9K3SwyT6OAlBqW-8ZNrV8w_HL8q2K-zI9g4ronF0c.css?delta=0&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"/> <link rel="stylesheet" media="all" href="/web/20231211213441cs_/https://tfw.wales/sites/default/files/css/css_LawvuLjLLHuxkzoq3zNPJGrULeu4syzBbf40n2fprPk.css?delta=1&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"/> <link rel="stylesheet" media="print" href="/web/20231211213441cs_/https://tfw.wales/sites/default/files/css/css_EFkMexotDh4ZqVb31MBR7WgcRwnhvj-H-ik_d65EChQ.css?delta=2&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"/> <link rel="stylesheet" media="all" href="http://web.archive.org/web/20231211213441cs_/https://dk5vcnqsuunkv.cloudfront.net/dist/build/tailwind.css"/> </head> <body class="page--page"> <a href="#main-content" class="visually-hidden focusable"> Skip to main content </a> <noscript><iframe src="http://web.archive.org/web/20231211213441if_/https://www.googletagmanager.com/ns.html?id=GTM-T34X6QX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <header id="siteHeader" class="site-header"> <div class="mdc-layout-grid site-header__compass-bar"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-header__nav-inner"> <a class="mobile-nav-toggle" href="#"> <object style="width: 20px; height: 16px;" tabindex="-1" type="image/svg+xml" data="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg" alt=""> </object> <span style="vertical-align: text-bottom;">Menu</span> </a> <div class="site-header__logo-container w-[65px]"> <a href="/web/20231211213441/https://tfw.wales/"><img class="site-header__logo" style="width: 59px; height: 59px" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/logo.svg" alt="Transport for Wales Logo"/></a> </div> <nav role="navigation" aria-labelledby="block-mainmenu-menu" id="block-mainmenu" class="site-header__filter-wrapper flex flex-auto !justify-between md:ml-[10px]"> <h2 class="visually-hidden" id="block-mainmenu-menu">Main Menu</h2> <div class="mobile-nav-controls"> <a href="/web/20231211213441/https://tfw.wales/search"> <object tabindex="-1" type="image/svg+xml" data="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg"> <img alt="Search" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg"> </object> </a> <a class="mobile-nav-close" href="#"> <object tabindex="-1" type="image/svg+xml" data="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-close.svg"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-close.svg"> </object> </a> </div> <ul class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px]"> <li class="!ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/plan-a-journey" data-drupal-link-system-path="node/33251">Plan a journey</a> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Ways to travel</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/rail" title="Rail" data-drupal-link-system-path="node/28871">Rail</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/cycling" data-drupal-link-system-path="node/28561">Cycling</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/bus" data-drupal-link-system-path="node/28566">Bus</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/walking-and-wheeling" title="Walking" data-drupal-link-system-path="node/29531">Walking</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/road" title="Travel by Road" data-drupal-link-system-path="node/28551">Road</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/water" data-drupal-link-system-path="node/28581">Water</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/air" data-drupal-link-system-path="node/28591">Air</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/bus/fflecsi" data-drupal-link-system-path="node/28306">fflecsi</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for" data-drupal-link-system-path="node/28531">Info for...</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Info for...</span> <ul class="child-nav-cols-4"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/travel-safer" data-drupal-link-system-path="node/28281">Travel Safer</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/business" data-drupal-link-system-path="node/28691">Businesses</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Press and media</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Service status">Service status</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/live-arrivals-and-departures" data-drupal-link-system-path="node/2341">Live arrivals and departures</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/live-route-status" data-drupal-link-system-path="node/116">Live route status</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/check-your-journey" data-drupal-link-system-path="node/29556">Check your journey</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/capacity-checker" data-drupal-link-system-path="node/19301">Capacity Checker</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/timetables" data-drupal-link-system-path="node/16506">Timetables</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes" data-drupal-link-system-path="node/19291" class="is-active">Metro: changes to train services</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/planned-improvement-works" data-drupal-link-system-path="node/111">Planned improvement works</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/weekend-travel-marches" data-drupal-link-system-path="node/39791">Weekend travel on the Marches</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact" data-drupal-link-system-path="node/51791">Help and contact</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Help and contact ">Help and contact </span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/rail" data-drupal-link-system-path="node/51961">Rail help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/bus" data-drupal-link-system-path="node/51956">Bus help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/concessionary" data-drupal-link-system-path="node/35486">Concessionary card help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/recruitment" data-drupal-link-system-path="node/35496">Recruitment help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/rail/delay-repay" data-drupal-link-system-path="node/821">Delay Repay</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/get-in-touch" data-drupal-link-system-path="node/50026">Contact us</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>About</span> <ul class="child-nav-cols-3"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-story" data-drupal-link-system-path="node/1606">Our story</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-culture" data-drupal-link-system-path="node/29261">Our culture</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/transparency" data-drupal-link-system-path="node/29281">Transparency</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/sustainable-development" data-drupal-link-system-path="node/32041">Sustainability</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-team" data-drupal-link-system-path="node/27086">Our team</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/advertising-filming-and-partnerships" data-drupal-link-system-path="node/856">Advertising with us</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/whats-happening" data-drupal-link-system-path="node/27131">What's happening</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Latest news</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Places</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/attractions" data-drupal-link-system-path="node/45836">Attractions</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations" data-drupal-link-system-path="node/39676">Destinations</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/events" data-drupal-link-system-path="node/38621">Events</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Stations</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/our-network-map" data-drupal-link-system-path="node/171">Our network map</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Projects</span> <ul class="child-nav-cols-1"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro" data-drupal-link-system-path="node/38526">Metro</a> </li> </ul> </li> </ul> </div> </li> </ul> <div class="more-menu ml-4" tabindex="0"> <a class="more-menu__nav-toggle" href="#" tabindex="-1"> <object style="width: 20px; height: 16px;" tabindex="-1" type="image/svg+xml" data="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/hamburger.svg" alt=""> </object> <span style="vertical-align: text-bottom;">More</span> </a> <ul class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px]"> <li class="!ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/plan-a-journey" data-drupal-link-system-path="node/33251">Plan a journey</a> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Ways to travel</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/rail" title="Rail" data-drupal-link-system-path="node/28871">Rail</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/cycling" data-drupal-link-system-path="node/28561">Cycling</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/bus" data-drupal-link-system-path="node/28566">Bus</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/walking-and-wheeling" title="Walking" data-drupal-link-system-path="node/29531">Walking</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/road" title="Travel by Road" data-drupal-link-system-path="node/28551">Road</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/water" data-drupal-link-system-path="node/28581">Water</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/air" data-drupal-link-system-path="node/28591">Air</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/bus/fflecsi" data-drupal-link-system-path="node/28306">fflecsi</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for" data-drupal-link-system-path="node/28531">Info for...</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Info for...</span> <ul class="child-nav-cols-4"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/travel-safer" data-drupal-link-system-path="node/28281">Travel Safer</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/business" data-drupal-link-system-path="node/28691">Businesses</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Press and media</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Service status">Service status</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/live-arrivals-and-departures" data-drupal-link-system-path="node/2341">Live arrivals and departures</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/live-route-status" data-drupal-link-system-path="node/116">Live route status</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/check-your-journey" data-drupal-link-system-path="node/29556">Check your journey</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/capacity-checker" data-drupal-link-system-path="node/19301">Capacity Checker</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/timetables" data-drupal-link-system-path="node/16506">Timetables</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes" data-drupal-link-system-path="node/19291" class="is-active">Metro: changes to train services</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/planned-improvement-works" data-drupal-link-system-path="node/111">Planned improvement works</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/weekend-travel-marches" data-drupal-link-system-path="node/39791">Weekend travel on the Marches</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact" data-drupal-link-system-path="node/51791">Help and contact</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span title="Help and contact ">Help and contact </span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/rail" data-drupal-link-system-path="node/51961">Rail help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/bus" data-drupal-link-system-path="node/51956">Bus help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/concessionary" data-drupal-link-system-path="node/35486">Concessionary card help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/recruitment" data-drupal-link-system-path="node/35496">Recruitment help</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/rail/delay-repay" data-drupal-link-system-path="node/821">Delay Repay</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/help-and-contact/get-in-touch" data-drupal-link-system-path="node/50026">Contact us</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>About</span> <ul class="child-nav-cols-3"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-story" data-drupal-link-system-path="node/1606">Our story</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-culture" data-drupal-link-system-path="node/29261">Our culture</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/transparency" data-drupal-link-system-path="node/29281">Transparency</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/sustainable-development" data-drupal-link-system-path="node/32041">Sustainability</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-team" data-drupal-link-system-path="node/27086">Our team</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/advertising-filming-and-partnerships" data-drupal-link-system-path="node/856">Advertising with us</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/whats-happening" data-drupal-link-system-path="node/27131">What's happening</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/press-and-media" data-drupal-link-system-path="node/29316">Latest news</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Places</span> <ul class="child-nav-cols-2"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/attractions" data-drupal-link-system-path="node/45836">Attractions</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations" data-drupal-link-system-path="node/39676">Destinations</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/events" data-drupal-link-system-path="node/38621">Events</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Stations</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/our-network-map" data-drupal-link-system-path="node/171">Our network map</a> </li> </ul> </li> </ul> </div> </li> <li class="has-children !ml-[10px] !mt-[10px]"> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> <div class="site-header__nav-bar-filter !-mt-[10px] !-ml-[10px] site-header__mega-menu"> <ul class="w-full"> <li class="has-children "> <span>Projects</span> <ul class="child-nav-cols-1"> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro" data-drupal-link-system-path="node/38526">Metro</a> </li> </ul> </li> </ul> </div> </li> </ul> </div> <div class="site-header__anc-links ml-auto flex-shrink-0"> <div id="block-languageswitcher-1"> <div class="languages"> <a href="http://web.archive.org/web/20231211213441/http://trc.cymru/prosiectau/metro/newidiadau-gwasanaeth" class="site-header__language-switcher" data-key="cy">Cymraeg</a> </div> </div> <a aria-label="Your Account" href="http://web.archive.org/web/20231211213441/https://tickets.trc.cymru/#/login-redirect"> <img role="presentation" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/account-icon-desktop.svg"> </a> </div> <div class="site-header__mobile-anc-links"> <a class="my-account" aria-label="Your Account" href="http://web.archive.org/web/20231211213441/https://tickets.trc.cymru/#/login-redirect"> <span class="my-account-icon"></span> Your account </a> <div id="block-languageswitcher-2"> <div class="languages"> <a href="http://web.archive.org/web/20231211213441/http://trc.cymru/prosiectau/metro/newidiadau-gwasanaeth" class="site-header__language-switcher" data-key="cy">Cymraeg</a> </div> </div> </div> </nav> </div> </div> </div> <div> <div id="block-disruptionbanner"> <script type="text/javascript"> window.keo = window.keo || {}; window.keo.pidd = { 'labels': {"read_more":"Read more"} }; </script> <div id="pidd_js" class="disruption-banner is-pidd" v-bind:data-disruption-id="item.id" v-bind:data-retrieved="item.retrieved" v-bind:class="{ 'is-shown': item.heading != null && !item.isHidden }"> <div class="container"> <div class="disruption disruption--major"> <div> <div class="heading"> <span class="disruption-header" v-text="item.heading"></span> <button type="button" class="bg-transparent border-0 read-more-link"> Read more </button> </div> <div class="read-more" v-html="item.copy"></div> </div> <div class="close" role="button" aria-label="Close"></div> </div> </div> </div> </div> </div> <!-- END IF --> <div class="site-header__banner" style="background-color: #FE6B01; background-image: url('http://web.archive.org/web/20231211213441im_/https://tfw.wales/sites/default/files/styles/page_banner_background_image/public/2022-02/Frame-287.png?itok=w3ZftfSi');"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-9-desktop mdc-layout-grid__cell--span-4-phone mdc-layout-grid__cell--span-5-tablet text-container"> <div class="text-inner"> <div class="site-header__category"> <p>South Wales Metro</p> </div> <h1 class="site-header__title">Changes to train services</h1> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-3-tablet site-header__search-form"> <form action="/web/20231211213441/https://tfw.wales/search" method="get"> <label class="sr-only" for="search">Search</label> <input type="search" id="search" name="search" placeholder="Search..."> <button><img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-search.svg" alt="Search"></button> </form> </div> </div> </div> </div> <!-- fixme: inline style for colour very temp --> <div class="site-header__floating-nav-container"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-header__floating-nav-container__outer"> <button class="menu-arrow arrow-left" style="display: none"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/chevron-left-white.svg" alt="See previous links"> </button> <nav class="site-header__floating-nav"> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro" data-drupal-link-system-path="node/38526">Metro home</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/south-wales-metro" data-drupal-link-system-path="node/40611">South Wales Metro</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/swansea-bay-metro" data-drupal-link-system-path="node/27991">Swansea Bay and West Wales Metro</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/north-wales-metro" data-drupal-link-system-path="node/27986">North Wales Metro</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/service-changes" data-drupal-link-system-path="node/19291" class="is-active">Changes to train services </a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://news.tfw.wales/news/t/metro">Latest Metro news</a> </li> </ul> </nav> <button class="menu-arrow arrow-right"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/chevron-right-white.svg" alt="See more links"> </button> <button class="mobile-menu-arrow arrow-down"> <object type="image/svg+xml" data="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/chevron-down-black.svg"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/chevron-down-black.svg" alt="Click to reveal extra menu items"> </object> </button> </div> </div> </div> </div> </header> <div class="layout-container"> <main role="main"> <a id="main-content" tabindex="-1"></a> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12"> <div class="layout-content"> <div> <div data-drupal-messages-fallback class="hidden"></div><div id="block-cookiesui"> <div id="cookiesjsr"></div> </div> <article data-history-node-id="19291" about="https://tfw.wales/projects/metro/service-changes"> <div> <div class="layout layout--twocol"> <div class="layout__region layout__region--top"> <div> </div> <div> <nav class="breadcrumb" role="navigation" aria-labelledby="system-breadcrumb"> <h2 id="system-breadcrumb" class="visually-hidden">Breadcrumb</h2> <ol> <li> <a aria-label="Home" href="/web/20231211213441/https://tfw.wales/"> <svg width="16" height="16" viewbox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.7389 7.88336L7.90068 1.05016C7.85145 1.00082 7.79296 0.961685 7.72858 0.934981C7.6642 0.908277 7.59519 0.894531 7.52549 0.894531C7.45579 0.894531 7.38677 0.908277 7.32239 0.934981C7.25801 0.961685 7.19953 1.00082 7.15029 1.05016L0.312109 7.88336C0.112891 8.08258 0 8.35318 0 8.63541C0 9.22145 0.476465 9.69791 1.0625 9.69791H1.78301V14.5738C1.78301 14.8676 2.02041 15.105 2.31426 15.105H6.46299V11.3863H8.32236V15.105H12.7367C13.0306 15.105 13.268 14.8676 13.268 14.5738V9.69791H13.9885C14.2707 9.69791 14.5413 9.58668 14.7405 9.3858C15.1539 8.97076 15.1539 8.2984 14.7389 7.88336Z" fill="#003DA6"/> </svg> </a> <svg class="breadcrumb__separator" width="8" height="13" viewbox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.57749 0.106119C7.07749 0.339119 7.31749 0.883119 7.11449 1.32112L1.93549 12.4241C1.73149 12.8621 1.16049 13.0281 0.659486 12.7941C0.159486 12.5611 -0.0805143 12.0161 0.123486 11.5781L5.30149 0.476119C5.50549 0.0381192 6.07649 -0.127881 6.57749 0.106119Z" fill="#333"/> </svg> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects">Projects</a> <svg class="breadcrumb__separator" width="8" height="13" viewbox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.57749 0.106119C7.07749 0.339119 7.31749 0.883119 7.11449 1.32112L1.93549 12.4241C1.73149 12.8621 1.16049 13.0281 0.659486 12.7941C0.159486 12.5611 -0.0805143 12.0161 0.123486 11.5781L5.30149 0.476119C5.50549 0.0381192 6.07649 -0.127881 6.57749 0.106119Z" fill="#333"/> </svg> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro">Metro</a> <svg class="breadcrumb__separator" width="8" height="13" viewbox="0 0 8 13" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.57749 0.106119C7.07749 0.339119 7.31749 0.883119 7.11449 1.32112L1.93549 12.4241C1.73149 12.8621 1.16049 13.0281 0.659486 12.7941C0.159486 12.5611 -0.0805143 12.0161 0.123486 11.5781L5.30149 0.476119C5.50549 0.0381192 6.07649 -0.127881 6.57749 0.106119Z" fill="#333"/> </svg> </li> <li> Changes to train services </li> </ol> </nav> </div> </div> <div class="layout__region layout__region--first"> <div> <div class="page-block page-block--main-content"> <h2>Changes to train services</h2> <h2>How the Metro transformation works will affect your journey plans between November 2023 and February 2024</h2> <p>Metro is being purpose built for Wales’ future. It will be a modern, efficient and sustainable way to travel but there may be temporary periods of change to your journey plans while be build it. Where possible we’re scheduling the transformation work to take place during less busy times to minimise disruption. We’re offering connections between rail services and bus services.</p> <p> </p> <h3>Rail replacement bus services</h3> <p>We’re always looking at improving customer experience and your honest feedback on the <a href="http://web.archive.org/web/20231211213441/https://www.smartsurvey.co.uk/s/1XBH7M/">survey</a> will help us shape our rail replacement services in the future.</p> </div> </div> <div> <div> <div> <div> <div id="paragraph-18036" class="paragraph paragraph--type--accordion-list paragraph--view-mode--default"> <div class="accordion-list"> <div> <div> <div id="paragraph-18011" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> <ul class="accordion"> <li> Service changes | Cardiff Central - Coryton | Mondays - Thursdays, from late evening onwards <ul> <li> <p>Changes to sevices between Cardiff Central and Coryton</p> <p>Metro engineering work means that, from Mondays to Thursdays, the last train is now much earlier.</p> <table border="1" cellpadding="1" cellspacing="1" class="branded" style="width: 100%;"><tbody><tr><td>20:15</td> <td>Coryton - Cardiff Central</td> </tr><tr><td>19:51</td> <td>Cardiff Central - Coryton</td> </tr></tbody></table><p>For later services, ticket acceptance has been agreed with Cardiff Bus, visit <a href="http://web.archive.org/web/20231211213441/https://www.cardiffbus.com/">cardiffbus.com</a>.</p> <p><img alt="Cardiff Central - Coryton" data-entity-type="file" data-entity-uuid="dd01deec-81d9-416d-a5d1-250bfaf7df78" src="/web/20231211213441im_/https://tfw.wales/sites/default/files/inline-images/MapRRS23.005_RDR-CDF-COR_V1.jpg" width="1014" height="2288"/></p> </li> </ul> </li> </ul> </div> </div> <div> <div id="paragraph-18016" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> <ul class="accordion"> <li> Service changes | Cardiff Central - Rhymney | Mondays - Thursdays and Sundays, from late evening onwards <ul> <li> <p>Mondays - Thursdays, from approximately 20:00 onwards; Sundays, from approximately 18:30 onwards.</p> <p><img alt="Cardiff Central - Rhymney" data-entity-type="file" data-entity-uuid="9748340a-a116-47a2-a96e-72b5de8bba47" src="/web/20231211213441im_/https://tfw.wales/sites/default/files/inline-images/MapRRS23.016_CDF-RHY_V1.jpg" width="1015" height="3624"/></p> </li> </ul> </li> </ul> </div> </div> <div> <div id="paragraph-18021" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> <ul class="accordion"> <li> Service changes | Pontypridd - Treherbert | Saturday 29 April - February 2024 <ul> <li> <p>As we move forward with our progress of building the South Wales Metro, from 29th April 2023 to late January/early February 2024, we will be closing the train line from Pontypridd to Treherbert, to deliver our biggest programme of works to date.</p> <p>The Treherbert line has some of the oldest equipment and infrastructure across the entire Core Valley Lines, dating back to early 1930’s. During this eight-month closure, we have a significant amount of work to carry out in order to modernise this section of railway.</p> <p>For more information <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="28195bf9-b82f-406a-b799-449c3a6e0d1a" href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects/metro/south-wales-metro/treherbert-line-transformation">click here</a>.</p> <p>To safely manage the operation of replacement buses in and out of Pontypridd Station, the front of the station is closed for drop off/pick up access. Disabled access will remain open, and staff will be placed at the station entrance to assist.</p> <p>We apologise for any inconvenience.</p> <p><img alt="Pontypridd - Treherbert" data-entity-type="file" data-entity-uuid="27208f62-761e-4f67-8eaa-f3b633d24da0" height="1331" src="/web/20231211213441im_/https://tfw.wales/sites/default/files/inline-images/MapRRS23.014_PPD-TRB-closed_V5.jpg" width="100%"/></p> </li> </ul> </li> </ul> </div> </div> <div> <div id="paragraph-18006" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> </div> </div> <div> <div id="paragraph-18026" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> </div> </div> </div> </div> </div> </div> <div> <div id="paragraph-18041" class="paragraph paragraph--type--regular-content paragraph--view-mode--default"> </div> </div> <div> <div id="paragraph-18046" class="paragraph paragraph--type--regular-content paragraph--view-mode--default"> </div> </div> <div> <div id="paragraph-18051" class="paragraph paragraph--type--regular-content paragraph--view-mode--default"> </div> </div> <div> <div id="paragraph-18056" class="paragraph paragraph--type--regular-content paragraph--view-mode--default"> </div> </div> <div> <div id="paragraph-6156" class="paragraph paragraph--type--accordion-list paragraph--view-mode--default"> <div class="accordion-list"> <div> <div> <div id="paragraph-6151" class="paragraph paragraph--type--single-accordion-item paragraph--view-mode--default"> <ul class="accordion"> <li> Travel Advice FAQs <ul> <li> <h4>What work will be undertaken during this period?</h4> <p>A whole package of works is planned including track and signalling work along with general maintenance.<br/> Find out all about <a href="/web/20231211213441/https://tfw.wales/metro">Metro here</a>.</p> <p> </p> <h4>What will I expect when I arrive at the Radyr station inter-change hub?</h4> <p>Radyr station will act as the main inter-change hub between rail and bus services. Customer service teams will be at hand at Radyr station to direct customers to and from the inter-change hub situated in the adjacent car park. Road transport has been arranged to link in with train services to keep wait times to a minimum. Toilet and shelter facilities will be available.</p> <p> </p> <h4>Where will I be picked up or dropped off at my local station?</h4> <p>Most bus service pick up / drop up points are situated outside the station. They will be clearly signposted but you can check out the <a href="/web/20231211213441/https://tfw.wales/our-network/stations">location of your rail replacement bus stop here</a> (choose your station then Car Park Information) or on the Useful Information Poster at your station.</p> <p> </p> <h4>I usually take my bike on the train as I need it for onwards travel – can I take it on the bus service?</h4> <p>Normally bikes are not permitted on rail replacement bus services however where possible bikes may be carried dependent on the driver’s discretion and space available. Any bikes carried on our bus services is at your own risk and Transport for Wales cannot accept responsibility for any damages.</p> <p> </p> <h4>Can I take my dog on the bus service?</h4> <p>Normally dogs are not permitted on rail replacement bus services except guide dogs.</p> <p> </p> <h4>Can you take prams on the bus service?</h4> <p>Prams are allowed however we ask that they are folded up before boarding.</p> <p> </p> <h4>How much extra time will the bus service leg of my journey add to my overall journey?</h4> <p>For the exact times you will need to check your specific journey plans but here’s a guide for some key journeys. These are based on average times for the time of night travelled.</p> <table border="1" cellpadding="1" cellspacing="1" class="branded" style="width: 100%;"><tbody><tr><td style="width: 300px;">Route</td> <td>Approx bus service times</td> </tr><tr><td>Radyr - Pontypridd</td> <td>00:35 hrs</td> </tr><tr><td>Radyr - Merthyr Tydfil</td> <td>01:20hrs</td> </tr><tr><td>Radyr - Aberdare</td> <td>01:20hrs</td> </tr><tr><td>Radyr – Treherbert</td> <td>01:25 hrs</td> </tr></tbody></table><p> </p> <h4>Can I buy a ticket on the bus?</h4> <p>There are no ticket purchasing facilities on board buses. Tickets must be bought before boarding a bus at your local booking office, ticket machines, on-line using <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="3b12bf54-48d7-4cd3-8c9b-f8a6d941be68" href="http://web.archive.org/web/20231211213441/https://tfw.wales/journey-planner-0">our journey planner</a> or from <a href="/web/20231211213441/https://tfw.wales/app">our app.</a></p> <p> </p> <h4>I am a wheelchair user, can I access the rail replacement bus service?</h4> <p>The buses are wheelchair accessible with low loading floors. For advice and to book assistance in advance call our Passenger Assist team <a href="http://web.archive.org/web/20231211213441/tel: 03330 050 501">03330 050 501</a>.</p> </li> </ul> </li> </ul> </div> </div> </div> </div> </div> </div> <div> <div id="paragraph-10441" class="paragraph paragraph--type--regular-content paragraph--view-mode--default"> <p> </p> <h3>Future improvement work</h3> <p>For planned improvement works across our network that can affect the timetable please visit this page</p> <p><a href="/web/20231211213441/https://tfw.wales/planning-ahead/planned-improvement-works" style="font-weight:700; border:none; outline:none; background-color: #FF0000; color:#fff; border-radius:18px; font-size:16px; padding:18px 32px 18px;">Planned improvement work</a></p> <p> </p> <h3>Industial action</h3> <p>For industrial action that can affect the timetable please visit this page</p> <p><a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="82c6b468-10b8-4986-a3a6-5590e872b92b" href="http://web.archive.org/web/20231211213441/https://tfw.wales/industrial-action" style="font-weight:700; border:none; outline:none; background-color: #FF0000; color:#fff; border-radius:18px; font-size:16px; padding:18px 32px 18px;">Industrial action</a></p> <p> </p> </div> </div> </div> </div> </div> <div> </div> </div> <div class="layout__region layout__region--second"> <div> <div class="block--toc-qtt " id="toc_qtt"> <script async data-toc-qtt src="/web/20231211213441js_/https://tfw.wales/api/qtt/BASE_LOCAL?cfg=BASE_LOCAL&origin=&destination=&isExpanded=true&lng=en"></script> </div> </div> <div> <div class="promo-grid promo-grid--featured has-1-cols"> <ul class="promo-grid__list"> <li> <div class="promo" data-fully-linked> <div class="promo__category">Did you know?</div> <div class="promo__heading" role="heading" aria-level="3" aria-label="Travel safer">Travel safer</div> <div class="promo__copy">You can plan ahead and decide when to travel using our Capacity Checker.</div> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status/capacity-checker" class="main-link" data-main-link>Check capacity</a> </div> </li> </ul> </div> </div> <div> </div> </div> <div class="layout__region layout__region--bottom"> </div> </div> </div> </article> </div> </div> </div> </div> </div> </main> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-footer__lower-container mobile-only"> <div class="site-footer__btt-section"> <a class="social-link" aria-label="Back to Top" href="#siteHeader"> <img role="presentation" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-btt.svg"> <span>Back to top</span></a> </div> </div> </div> </div> <div class="mdc-layout-grid"> <section class="logo-bar desktop-only-flex"> <div class="logo-container tfw-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/tfw.svg" alt="tfw"/> </div> <div class="logo-container wg-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/wg-logo.svg" alt="" role="presentation"> </div> <div class=" logo-container dft-logo-en"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/DfT_3298_SML_AW.png" alt="" role="presentation"> </div> <div class=" logo-container er-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/erdf-logo.png" alt="" role="presentation"> </div> </section> </div> <footer class="site-footer" role="contentinfo"> <div class="mdc-layout-grid footer-menus-container"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-ticketsandrailcards-menu" id="block-ticketsandrailcards"> <h2 id="block-ticketsandrailcards-menu">Top areas</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/careers" data-drupal-link-system-path="node/27061">Careers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel" data-drupal-link-system-path="node/28526">Ways to travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/service-status" data-drupal-link-system-path="node/28536">Service status</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">About Transport for Wales</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/projects" data-drupal-link-system-path="node/29246">Projects</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places" data-drupal-link-system-path="node/29241">Places and routes</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/stations" data-drupal-link-system-path="node/26">Find a station</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/transparency/publications" data-drupal-link-system-path="node/27956">Publications</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-travelupdates-menu" id="block-travelupdates"> <h2 id="block-travelupdates-menu">Info for...</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers" data-drupal-link-system-path="node/28661">Passengers and travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/young-travellers" data-drupal-link-system-path="node/28666">Young travellers</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/accessible-travel" data-drupal-link-system-path="node/29526">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/over-60s" data-drupal-link-system-path="node/28671">Over 60s</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/kids-and-schools" data-drupal-link-system-path="node/28676">Kids and schools</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/visitors-and-tourists" data-drupal-link-system-path="node/28696">Visitors and tourists</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/communities" data-drupal-link-system-path="node/28681">Communities</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/job-hunters" data-drupal-link-system-path="node/28686">Job hunters</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/government-and-councils" data-drupal-link-system-path="node/28701">Government and councils</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/suppliers-and-partners" data-drupal-link-system-path="node/28711">Suppliers and partners</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-topdestinations-menu" id="block-topdestinations"> <h2 id="block-topdestinations-menu">Top destinations</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/popular-routes" data-drupal-link-system-path="node/17486">Popular routes</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/aberystwyth" data-drupal-link-system-path="node/1086">Trains to Aberystwyth</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/cardiff" data-drupal-link-system-path="node/261">Trains to Cardiff</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/liverpool" data-drupal-link-system-path="node/1031">Trains to Liverpool</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/manchester" data-drupal-link-system-path="node/271">Trains to Manchester</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/shrewsbury" data-drupal-link-system-path="node/276">Trains to Shrewsbury</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/places/destinations/swansea" data-drupal-link-system-path="node/726">Trains to Swansea</a> </li> </ul> </nav> </div> </div> <div class="mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-2-tablet mdc-layout-grid__cell--span-4-phone"> <div> <nav role="navigation" aria-labelledby="block-policiesforpeople-menu" id="block-policiesforpeople"> <h2 id="block-policiesforpeople-menu">Policies for people</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/accessibility-statement-tfwwales" data-drupal-link-system-path="node/31931">Accessibility statement</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/accessible-travel/policies-and-information" data-drupal-link-system-path="node/931">Accessible travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/bilingual-policy" data-drupal-link-system-path="node/461">Bilingual policy</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-culture/equality" data-drupal-link-system-path="node/27651">Equality and diversity</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/gender-pay-gap-report" data-drupal-link-system-path="node/31361">Gender Pay Gap report</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/modern-slavery-statement" data-drupal-link-system-path="node/30216">Modern Slavery Statement</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/sustainable-development-and-environment-policy" data-drupal-link-system-path="node/52771">Sustainable development and environment policy</a> </li> </ul> </nav> <nav role="navigation" aria-labelledby="block-usefullinks-menu" id="block-usefullinks"> <h2 id="block-usefullinks-menu">Useful links</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/cycling/bikes-on-board" data-drupal-link-system-path="node/371">Bikes on board</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/info-for/passengers/accessible-travel/booking-assistance" data-drupal-link-system-path="node/361">Booking assisted travel</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/ways-to-travel/road/car-parks" data-drupal-link-system-path="node/221">Car parking</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us" data-drupal-link-system-path="node/28546">Corporate info</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/about-us/our-culture/safety/security" data-drupal-link-system-path="node/20906">Security</a> </li> </ul> </nav> </div> </div> </div> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell--span-12 site-footer__lower-container"> <div class=""> <a class="social-link" aria-label="Social Media Link" href="/web/20231211213441/https://tfw.wales/social-media"> <div> <a aria-label="Social Media Link" href="/web/20231211213441/https://tfw.wales/social-media"> <div class="flex items-center"> <img role="presentation" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/icon-social-group.svg"> <span class="flex items-center pl-4 !text-[16px]">Connect with us on social media </span> </div> </a> </div> </div> <div> <div class="sm:flex sm:flex-row-reverse sm:justify-center sm:m-auto"> <span class="flex justify-center pb-4 sm:items-center sm:pb-0"> <h2 class="m-0 !text-[16px] font-normal text-black">Download our rail app</h2> </span> <div class="flex gap-4 justify-center px-4 max-w-sm mx-[auto]"> <div> <a href="http://web.archive.org/web/20231211213441/https://apps.apple.com/us/app/trc-tfw-cheap-train-tickets/id1589080838" rel="nofollow"> <img class="block" aria-hidden="true" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/assets/images/apple-app-icon.png" alt="Download our TfW Rail App on the Apple App Store"> <span class="sr-only"> Download our TfW Rail App on the Apple App Store </span> </a> </div> <div> <a href="http://web.archive.org/web/20231211213441/https://play.google.com/store/apps/details?id=wales.tfw.rail.app" rel="nofollow"> <img class="block" aria-hidden="true" src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/assets/images/google-app-icon.png" alt="Download our TfW Rail App on the Google Play Store"> <span class="sr-only"> Download our TfW Rail App on the Google Play Store </span> </a> </div> </div> </div> </div> <div class="desktop-only"> <a class="" aria-label="Back to top" href="#siteHeader"> <div class="flex items-center justify-end"> <div class=""> <svg class="rounded-full shadow" xmlns="http://www.w3.org/2000/svg" width="40" height="40"><g fill="none"><path d="M0 20C0 8.954 8.954 0 20 0s20 8.954 20 20-8.954 20-20 20S0 31.046 0 20z" fill="#FFFFFF"/><path fill="#333" d="M12 20l1.41 1.41L19 15.83V28h2V15.83l5.58 5.59L28 20l-8-8z"/></g></svg> </div> <span class="px-4">Back to top</span> </div> </a> </div> </div> </div> </div> <section class="logo-bar mobile-only-flex"> <div class="logo-container tfw-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/tfw.svg" alt="tfw"/> </div> <div class="logo-container wg-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/wg-logo.svg" alt="" role="presentation"> </div> <div class=" logo-container dft-logo-en"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/DfT_3298_SML_AW.png" alt="" role="presentation"> </div> <div class=" logo-container er-logo"> <img src="/web/20231211213441im_/https://tfw.wales/themes/custom/one_domain/dist/img/erdf-logo.png" alt="" role="presentation"> </div> </section> <div class="site-footer__bottom-container"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="copyright mdc-layout-grid__cell--span-7-desktop mdc-layout-grid__cell--span-4-tablet mdc-layout-grid__cell--span-4-phone "> <p>© 2023 TfW</p> <a class="legal-text" href="/web/20231211213441/https://tfw.wales/transport-wales" rel="nofollow">Transport for Wales Ltd - Registered in England and Wales under number 09476013 at Llys Cadwyn, Pontypridd, CF37 4TH</a> </div> <div class="menu-cont mdc-layout-grid__cell--span-5-desktop mdc-layout-grid__cell--span-4-tablet mdc-layout-grid__cell--span-4-phone "> <div class="bottom-footer-menu"> <div> <nav role="navigation" aria-labelledby="block-bottomfootermenu-menu" id="block-bottomfootermenu"> <h2 class="visually-hidden" id="block-bottomfootermenu-menu">Bottom Footer Menu</h2> <ul> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/cookie-policy" data-drupal-link-system-path="node/476">Cookie policy</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/website-privacy-statement" data-drupal-link-system-path="node/30291">Privacy policy</a> </li> <li> <a href="http://web.archive.org/web/20231211213441/https://tfw.wales/terms-and-conditions" data-drupal-link-system-path="node/30296">Terms and conditions</a> </li> </ul> </nav> </div> </div> </div> </div> </div> </div> </footer> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/19291","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"gtm":{"tagId":null,"settings":{"data_layer":"dataLayer","include_classes":false,"allowlist_classes":"","blocklist_classes":"","include_environment":false,"environment_id":"","environment_token":""},"tagIds":["GTM-T34X6QX"]},"gtag":{"tagId":"","otherIds":[],"events":[],"additionalConfigInfo":[]},"ajaxPageState":{"libraries":"cookies\/cookiesjsr,cookies_gtag\/gtag,google_tag\/gtag,google_tag\/gtag.ajax,google_tag\/gtm,keolis_layout_blocks\/keo-pidd,keolis_layout_blocks\/language_switcher,keolis_meganav\/keolis_meganav.library,layout_discovery\/twocol,one_domain\/global-js,one_domain\/global-styling,paragraphs\/drupal.paragraphs.unpublished,system\/base","theme":"one_domain","theme_token":null},"ajaxTrustedUrl":[],"feature_toggle":{"enabled":["send_nre_station_data_to_xtm"]},"field_group":{"html_element":{"mode":"default","context":"view","settings":{"classes":"","id":"","element":"li","show_label":false,"label_element":"h3","label_element_classes":"","attributes":"","effect":"none","speed":"fast"}}},"cookies":{"cookiesjsr":{"config":{"cookie":{"name":"cookiesjsr","expires":31536000000,"domain":"","sameSite":"Lax","secure":false},"library":{"libBasePath":"\/libraries\/cookiesjsr\/dist","libPath":"\/libraries\/cookiesjsr\/dist\/cookiesjsr.min.js","scrollLimit":0},"callback":{"method":"post","url":"\/cookies\/example\/callback.json","headers":[]},"interface":{"openSettingsHash":"#editCookieSettings","showDenyAll":true,"denyAllOnLayerClose":false,"settingsAsLink":false,"availableLangs":["en","cy"],"defaultLang":"en","groupConsent":true,"cookieDocs":true}},"services":{"default":{"id":"default","services":[{"key":"base","type":"default","name":"Required cookies","info":{"value":"\u003Ctable\u003E\r\n\t\u003Cthead\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003ECookie name\u003C\/th\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003EDefault expiration time\u003C\/th\u003E\r\n\t\t\t\u003Cth\u003EDescription\u003C\/th\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/thead\u003E\r\n\t\u003Ctbody\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003ESSESS\u0026lt;ID\u0026gt;\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 month\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EIf you are logged in to this website, a session cookie is required to identify and connect your browser to your user account in the server backend of this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003Ecookiesjsr\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 year\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EWhen you visited this website for the first time, you were asked for your permission to use several services (including those from third parties) that require data to be saved in your browser (cookies, local storage). Your decisions about each service (allow, deny) are stored in this cookie and are reused each time you visit this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/tbody\u003E\r\n\u003C\/table\u003E\r\n","format":"full_html"},"uri":"","needConsent":false}],"weight":1},"tracking":{"id":"tracking","services":[{"key":"recaptcha","type":"tracking","name":"reCAPTCHA","info":{"value":"","format":"full_html"},"uri":"","needConsent":true}],"weight":10},"performance":{"id":"performance","services":[{"key":"gtag","type":"performance","name":"Google Tag Manager","info":{"value":"","format":"full_html"},"uri":"","needConsent":true}],"weight":30}},"translation":{"_core":{"default_config_hash":"C8aQz-3d6YpwuU4QQc1iaWHb3RDkc_C9qcEsgR7HR74"},"langcode":"en","bannerText":"In order to give you the best experience we have set our website to allow cookies. By continuing, you agree that you are happy for us to use these cookies.\r\n\r\nTo change your cookie settings for our website please select \u201cCookie settings\u201d","privacyPolicy":"Privacy policy","privacyUri":"http:\/\/web.archive.org\/web\/20231211213441\/https:\/\/tfw.wales\/website-privacy-statement","imprint":"","imprintUri":"","cookieDocs":"","cookieDocsUri":"","denyAll":"","alwaysActive":"Always active","settings":"Cookie settings","acceptAll":"Accept all","requiredCookies":"Required cookies","cookieSettings":"Cookie settings","close":"Close","readMore":"Read more","allowed":"allowed","denied":"denied","settingsAllServices":"Settings for all services","saveSettings":"Save","default_langcode":"en","disclaimerText":"All cookie information is subject to change by the service providers. We update this information regularly.","disclaimerTextPosition":"above","processorDetailsLabel":"Processor Company Details","processorLabel":"Company","processorWebsiteUrlLabel":"Company Website","processorPrivacyPolicyUrlLabel":"Company Privacy Policy","processorCookiePolicyUrlLabel":"Company Cookie Policy","processorContactLabel":"Data Protection Contact Details","placeholderAcceptAllText":"Accept All Cookies","officialWebsite":"View official website","default":{"title":"What are Cookies?","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"tracking":{"title":"Tracking cookies","details":"Marketing cookies come from external advertising companies (\u0022third-party cookies\u0022) and are used to collect information about the websites visited by the user. The purpose of this is to create and display target group-oriented content and advertising for the user."},"performance":{"title":"Performance Cookies","details":"Performance cookies collect aggregated information about how our website is used. The purpose of this is to improve its attractiveness, content and functionality. These cookies help us to determine whether, how often and for how long particular sub-pages of our website are accessed and which content users are particularly interested in. Search terms, country, region and (where applicable) the city from which the website is accessed are also recorded, as is the proportion of mobile devices that are used to access the website. We use this information to compile statistical reports that help us tailor the content of our website to your needs and optimize our offer."}}},"cookiesTexts":{"_core":{"default_config_hash":"C8aQz-3d6YpwuU4QQc1iaWHb3RDkc_C9qcEsgR7HR74"},"langcode":"en","bannerText":"In order to give you the best experience we have set our website to allow cookies. By continuing, you agree that you are happy for us to use these cookies.\r\n\r\nTo change your cookie settings for our website please select \u201cCookie settings\u201d","privacyPolicy":"Privacy policy","privacyUri":"\/node\/30291","imprint":"","imprintUri":"","cookieDocs":"","cookieDocsUri":"","denyAll":"","alwaysActive":"Always active","settings":"Cookie settings","acceptAll":"Accept all","requiredCookies":"Required cookies","cookieSettings":"Cookie settings","close":"Close","readMore":"Read more","allowed":"allowed","denied":"denied","settingsAllServices":"Settings for all services","saveSettings":"Save","default_langcode":"en","disclaimerText":"All cookie information is subject to change by the service providers. We update this information regularly.","disclaimerTextPosition":"above","processorDetailsLabel":"Processor Company Details","processorLabel":"Company","processorWebsiteUrlLabel":"Company Website","processorPrivacyPolicyUrlLabel":"Company Privacy Policy","processorCookiePolicyUrlLabel":"Company Cookie Policy","processorContactLabel":"Data Protection Contact Details","placeholderAcceptAllText":"Accept All Cookies","officialWebsite":"View official website"},"services":{"base":{"uuid":"0fbacba6-203d-4fe9-9b5d-6aebbf42a275","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"XM4JB6AQPEeejASzikI0SZ5bJNvp4j6qJ9Ri1kK7vyw"},"id":"base","label":"Required cookies","group":"default","info":{"value":"\u003Ctable\u003E\r\n\t\u003Cthead\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003ECookie name\u003C\/th\u003E\r\n\t\t\t\u003Cth width=\u002215%\u0022\u003EDefault expiration time\u003C\/th\u003E\r\n\t\t\t\u003Cth\u003EDescription\u003C\/th\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/thead\u003E\r\n\t\u003Ctbody\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003ESSESS\u0026lt;ID\u0026gt;\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 month\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EIf you are logged in to this website, a session cookie is required to identify and connect your browser to your user account in the server backend of this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\t\u003Ctr\u003E\r\n\t\t\t\u003Ctd\u003E\u003Ccode dir=\u0022ltr\u0022 translate=\u0022no\u0022\u003Ecookiesjsr\u003C\/code\u003E\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003E1 year\u003C\/td\u003E\r\n\t\t\t\u003Ctd\u003EWhen you visited this website for the first time, you were asked for your permission to use several services (including those from third parties) that require data to be saved in your browser (cookies, local storage). Your decisions about each service (allow, deny) are stored in this cookie and are reused each time you visit this website.\u003C\/td\u003E\r\n\t\t\u003C\/tr\u003E\r\n\t\u003C\/tbody\u003E\r\n\u003C\/table\u003E\r\n","format":"full_html"},"consentRequired":false,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because Required cookies cookies have not been accepted.","placeholderAcceptText":"Only accept Required cookies cookies."},"gtag":{"uuid":"13110851-6ce2-4d67-bb04-4334cd8d41cf","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"cqbQDWvg17Bh-c7-1_WxErWNtcOfbeS70HdFPseBTKE"},"id":"gtag","label":"Google Tag Manager","group":"performance","info":{"value":"","format":"full_html"},"consentRequired":true,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because Google Tag Manager cookies have not been accepted.","placeholderAcceptText":"Only accept Google Tag Manager cookies."},"recaptcha":{"uuid":"94a086b8-df63-4ddd-aa70-cffdf34a76ce","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"KjF0zxDenAn5XBAqISi0iAaVN9XTCDtOoMez23BR7rM"},"id":"recaptcha","label":"reCAPTCHA","group":"tracking","info":{"value":"","format":"full_html"},"consentRequired":true,"purpose":"","processor":"","processorContact":"","processorUrl":"","processorPrivacyPolicyUrl":"","processorCookiePolicyUrl":"","placeholderMainText":"This content is blocked because reCAPTCHA cookies have not been accepted.","placeholderAcceptText":"Only accept reCAPTCHA cookies."}},"groups":{"default":{"uuid":"234f6dd4-df58-40ba-aeef-5d1057756794","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"MWjA0PCPcQbODMR7UjJxq4hK8JzyYy4zZeQmmQVjC3M"},"id":"default","label":"Default","weight":1,"title":"What are Cookies?","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"functional":{"uuid":"c3964d03-f05d-4e69-a3db-08430c7d4ed2","langcode":"en","status":true,"dependencies":[],"id":"functional","label":"Functional","weight":1,"title":"Functional","details":"Cookies are small text files that are placed by your browser on your device in order to store certain information. Using the information that is stored and returned, a website can recognize that you have previously accessed and visited it using the browser on your end device. We use this information to arrange and display the website optimally in accordance with your preferences. Within this process, only the cookie itself is identified on your device. Personal data is only stored following your express consent or where this is absolutely necessary to enable use the service provided by us and accessed by you."},"performance":{"uuid":"5bce227e-59c8-4532-81c7-82a1756bd1da","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"Jv3uIJviBj7D282Qu1ZpEQwuOEb3lCcDvx-XVHeOJpw"},"id":"performance","label":"Performance","weight":30,"title":"Performance Cookies","details":"Performance cookies collect aggregated information about how our website is used. The purpose of this is to improve its attractiveness, content and functionality. These cookies help us to determine whether, how often and for how long particular sub-pages of our website are accessed and which content users are particularly interested in. Search terms, country, region and (where applicable) the city from which the website is accessed are also recorded, as is the proportion of mobile devices that are used to access the website. We use this information to compile statistical reports that help us tailor the content of our website to your needs and optimize our offer."},"social":{"uuid":"b99946bc-fede-449c-9ae7-ca5eb7653081","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"vog2tbqqQHjVkue0anA0RwlzvOTPNTvP7_JjJxRMVAQ"},"id":"social","label":"Social Plugins","weight":20,"title":"Social Plugins","details":"Comments managers facilitate the filing of comments and fight against spam."},"tracking":{"uuid":"75bf8cce-ebe2-48c0-af09-67327ed54a0a","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"_gYDe3qoEc6L5uYR6zhu5V-3ARLlyis9gl1diq7Tnf4"},"id":"tracking","label":"Tracking","weight":10,"title":"Tracking cookies","details":"Marketing cookies come from external advertising companies (\u0022third-party cookies\u0022) and are used to collect information about the websites visited by the user. The purpose of this is to create and display target group-oriented content and advertising for the user."},"video":{"uuid":"ccbe796b-48c5-4b52-afd5-c46abf7befd0","langcode":"en","status":true,"dependencies":[],"_core":{"default_config_hash":"w1WnCmP2Xfgx24xbx5u9T27XLF_ZFw5R0MlO-eDDPpQ"},"id":"video","label":"Videos","weight":40,"title":"Video","details":"Video sharing services help to add rich media on the site and increase its visibility."}}},"qtt":{"promo":""},"user":{"uid":0,"permissionsHash":"27d4f3b560eda86e6fa9ae6f7d9ed095200e8ffad89621c936f0b6370d569b8f"}}</script> <script src="/web/20231211213441js_/https://tfw.wales/sites/default/files/js/js_KSh890BR6kS385rWjQR9BbL6PS8XMtS2viw3W2FBlpQ.js?scope=footer&delta=0&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"></script> <script src="/web/20231211213441js_/https://tfw.wales/modules/custom/keolis_layout_blocks/js/vendor/vue.min.js?s4h95w"></script> <script src="/web/20231211213441js_/https://tfw.wales/sites/default/files/js/js__xlekBt84MP9OeXo8teqJ57tfLpMLviSPr_HRMhJVoE.js?scope=footer&delta=2&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"></script> <script src="/web/20231211213441js_/https://tfw.wales/modules/contrib/google_tag/js/gtm.js?s4h95w" type="text/plain" id="cookies_gtag_gtm" data-cookieconsent="gtag"></script> <script src="/web/20231211213441js_/https://tfw.wales/modules/contrib/google_tag/js/gtag.js?s4h95w" type="text/plain" id="cookies_gtag_gtag" data-cookieconsent="gtag"></script> <script src="/web/20231211213441js_/https://tfw.wales/sites/default/files/js/js_VQZLqOhert-bx1snOj90Ygv7-uwKI_FZeZAK5LHyNeo.js?scope=footer&delta=5&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"></script> <script src="/web/20231211213441js_/https://tfw.wales/modules/contrib/cookies/js/cookiesjsr.conf.js?v=10.1.6"></script> <script src="/web/20231211213441js_/https://tfw.wales/libraries/cookiesjsr/dist/cookiesjsr-preloader.min.js?v=10.1.6" defer></script> <script src="/web/20231211213441js_/https://tfw.wales/sites/default/files/js/js_N0Hxe5cZ3yXGRh-vr9lCTD0xrQll9VSPRZfFOTDOI0w.js?scope=footer&delta=8&language=en&theme=one_domain&include=eJxtT21uwzAIvZBrH2YHsIjNiBNiLLDb5fZLtS5ap_wBvQ8eYLt13MIEhk4qxiwblBqIZQK-Wd-5VLpQFnNJFEPW0YA_sPfDZ44lAWPoCtUYepH69Mla0CJ1oPAsjkSIMf7g7R0e8p9g31RI0ey_ycMCX45hl9FjLpbkjrqH_pAk7BookEKb7cw5GT9qGxMXmzH_3hZefTH1SernBe9WlGMovlZOx6erhYO8tZLztcpQaQBhtEfpacYzZEOCCvfwDj2XSUH3b54Fnos"></script> <script src="/web/20231211213441js_/https://tfw.wales/themes/custom/one_domain/src/js/flatpickr.js"></script> <script src="/web/20231211213441js_/https://tfw.wales/themes/custom/one_domain/dist/scripts.min.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-34dae6faa52b003b8b9","applicationID":"530256513","transactionName":"MhBSZQoZCkRQWkdZXgtacVIMEQtZHn1BRUEEGWxfFxwBa3JWXURDChlcVAokKlhVXGVZVBI2X18MCgtbXVxBHQ8THFVG","queueTime":8,"applicationTime":706,"atts":"HldRE0IDGUo=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html> <!-- FILE ARCHIVED ON 21:34:41 Dec 11, 2023 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 07:53:27 Nov 30, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.47 exclusion.robots: 0.025 exclusion.robots.policy: 0.015 esindex: 0.009 cdx.remote: 6.133 LoadShardBlock: 192.57 (3) PetaboxLoader3.resolve: 182.648 (4) PetaboxLoader3.datanode: 67.995 (4) load_resource: 93.693 -->