diff --git a/.gitignore b/.gitignore index 3bda331..858824f 100644 --- a/.gitignore +++ b/.gitignore @@ -150,4 +150,4 @@ fabric.properties /src/es2016/bundle.js /src/es2016/bundle.js.map /src/backbone/bundle.js.map -/live/* + diff --git a/live/browserconfig.xml b/live/browserconfig.xml new file mode 100644 index 0000000..9e68e5d --- /dev/null +++ b/live/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2b5797 + + + diff --git a/live/build/bundle.css b/live/build/bundle.css new file mode 100644 index 0000000..d6b43c6 --- /dev/null +++ b/live/build/bundle.css @@ -0,0 +1,11 @@ +@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");@import url(./fonts/fujicons.css);:root{--primary-color:#607D8B;--dark-color:#294c5d;--light-color:#CFD8DC;--danger-color:#dc3545;--success-color:#28a745;--highlight-color:#dcc894;--highlight-color2:#dca394;--navbar-height:4rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Roboto Condensed', sans-serif;font-size:1rem;line-height:1.6;background-color:#fff;color:#333}a{color:var(--primary-color);text-decoration:none}a:hover{color:#666}a.active{color:var(--highlight-color)}ul{list-style:none}img{width:100%}.dataRow{cursor:pointer}.container{max-width:1100px;margin:auto;overflow:hidden;padding:0 2rem}.x-large{font-size:4rem;line-height:1.2;margin-bottom:1rem}.large{font-size:3rem;line-height:1.2;margin-bottom:1rem}.lead{font-size:1.5rem;margin-bottom:1rem}.text-center{text-align:center}.text-primary{color:var(--primary-color)}.text-dark{color:var(--dark-color)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-highlight{color:var(--highlight-color)}.text-highlight2{color:var(--highlight-color2)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-title,h3{font-weight:400;font-size:20px;line-height:28px}.text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.text-body1{font-weight:400;font-size:14px;line-height:20px}.text-caption{font-weight:400;font-size:12px;line-height:16px}.all-center{display:flex;flex-direction:column;width:100%;margin:auto;justify-content:center;align-items:center;text-align:center}.card{padding:1rem;border:#ccc 1px dotted;margin:0.7rem 0}.list{margin:0.5rem 0}.list li{padding-bottom:0.3rem}.p{padding:0.5rem}.p-1{padding:1rem}.p-2{padding:2rem}.p-3{padding:3rem}.py{padding:0.5rem 0}.py-1{padding:1rem 0}.py-2{padding:2rem 0}.py-3{padding:3rem 0}.m{margin:0.5rem}.m-1{margin:1rem}.mb-1{margin-bottom:.2rem !important}.ml-1{margin-left:.2rem !important}.mr-1{margin-right:.2rem !important}.mt-1{margin-top:.2rem !important}.mx-1{margin-left:1rem !important;margin-right:1rem !important}.m-2{margin:2rem}.mb-2{margin-bottom:.4rem !important}.ml-2{margin-left:.4rem !important}.mr-2{margin-right:.4rem !important}.mt-2{margin-top:.4rem !important}.mx-2{margin-left:2rem !important;margin-right:2rem !important}.m-3{margin:3rem}.my{margin:0.5rem 0}.my-1{margin:1rem 0}.my-2{margin:2rem 0}.my-3{margin:3rem 0}.grid{display:flex;display:-ms-flexbox;flex-wrap:wrap;margin-left:-.4rem;margin-right:-.4rem}.grid-1{display:grid;grid-template-columns:repeat(1, 1fr);grid-gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4, 1fr);grid-gap:1rem}.column,.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%;margin-left:0}.col-1-3rd{width:30.6666666667%}.col-2-3rd{width:65.3333333333%}.col-half{width:48%}.offset-1-col{margin-left:8.66666666667%}.offset-2-col{margin-left:17.3333333333%}.offset-3-col{margin-left:26%}.offset-4-col{margin-left:34.6666666667%}.offset-5-col{margin-left:43.3333333333%}.offset-6-col{margin-left:52%}.offset-7-col{margin-left:60.6666666667%}.offset-8-col{margin-left:69.3333333333%}.offset-9-col{margin-left:78.0%}.offset-10-col{margin-left:86.6666666667%}.offset-11-col{margin-left:95.3333333333%}.offset-1-3rd-col{margin-left:34.6666666667%}.offset-2-3rd-col{margin-left:69.3333333333%}.offset-half-col{margin-left:52%}.btn{display:inline-block;background:var(--light-color);color:#333;padding:0.4rem 1.3rem;font-size:1rem;border:none;cursor:pointer;margin-right:0.5rem;transition:opacity 0.2s ease-in;outline:none}.btn-link{background:none;padding:0;margin:0}.btn-block{display:block;width:100%}.btn-sm{font-size:0.8rem;padding:0.3rem 1rem;margin-right:0.2rem}.badge{display:inline-block;font-size:0.6rem;padding:0.1rem 0.4rem;text-align:center;margin:0.3rem;background:var(--light-color);color:#333;border-radius:3px}.alert{padding:0.7rem;margin:1rem 0;opacity:0.9;background:var(--light-color);color:#333}.btn-primary,.bg-primary,.badge-primary,.alert-primary{background:var(--primary-color);color:#fff}.btn-light,.bg-light,.badge-light,.alert-light{background:var(--light-color);color:#333}.btn-dark,.bg-dark,.badge-dark,.alert-dark{background:var(--dark-color);color:#fff}.btn-danger,.bg-danger,.badge-danger,.alert-danger{background:var(--danger-color);color:#fff}.btn-success,.bg-success,.badge-success,.alert-success{background:var(--success-color);color:#fff}.btn-white,.bg-white,.badge-white,.alert-white{background:#fff;color:#333;border:#ccc solid 1px}.btn:disabled{cursor:not-allowed;pointer-events:none;opacity:0.60;box-shadow:none}.btn:enabled:hover{opacity:0.8}.bg-light,.badge-light{border:#ccc solid 1px}.round-img{border-radius:50%}input{margin:.2rem 0}.form-text{display:block;margin-top:0.3rem;color:#888}input[type='text'],input[type='email'],input[type='password'],input[type='date'],select,textarea{display:block;width:100%;padding:0.1rem;border:1px solid #ccc}input[type='submit'],button{font:inherit}label,legend{display:block;margin-bottom:.1rem;font-weight:600}input[type="checkbox"],input[type="radio"]{display:inline}label > .label-body{display:inline-block;margin-left:.5rem;font-weight:normal;background-color:#dcc894}table th,table td{padding:1rem;text-align:left}table th{background:var(--light-color)}.navbar{position:fixed;display:flex;justify-content:space-between;align-items:center;padding:0.7rem 0rem;z-index:2;width:100%;opacity:0.9;margin-bottom:1rem;min-height:var(--navbar-height)}.navbar ul{display:flex}.navbar a{color:#fff;padding:0.45rem;margin:0 0.25rem}.navbar a:hover{color:var(--light-color)}.navbar .welcome span{margin-right:0.6rem}.navbar .navbar-section{align-items:center;display:flex;display:-ms-flexbox;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:not(:first-child):last-child{justify-content:flex-end}.navbar .navbar-brand{font-size:125%;font-weight:bold}@media(max-width: 700px){.hide-sm{display:none}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.x-large{font-size:3rem}.large{font-size:2rem}.lead{font-size:1rem}.navbar{display:flex;text-align:center}.navbar ul{text-align:center;justify-content:center}}.table-responsive{display:block;overflow-x:auto;width:100%}.cardV2{border-radius:4px;background-color:#fff;box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.14), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);min-width:0}table{max-width:100%;width:100%;border:0;margin-bottom:1rem;border-collapse:collapse}tr{border-top:1px solid #ccc}tbody tr:nth-of-type(odd){background-color:rgba(0, 0, 0, 0.04)}tbody td{border-top:1px solid #e1e1e1}hr{margin-top:2.2rem;margin-bottom:2rem;border-width:0;border-top:1px solid var(--dark-color)}.modalWindow{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0, 0, 0, 0.2);z-index:99999;opacity:0;pointer-events:none;text-align:center}.modalWindow:target{opacity:1;pointer-events:auto}.modalWindow > div{width:500px;position:relative;margin:10% auto;background:#fff}header + div.container{position:relative;top:var(--navbar-height);min-height:calc(100vh - var(--navbar-height))}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle="dropdown"]{outline:0}.mui-dropdown__menu{position:absolute;display:none;min-width:160px;padding:5px 3px;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box;border:1px solid var(--light-color);box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.mui-dropdown__menu{border-top:1px solid rgba(0, 0, 0, 0.12);border-left:1px solid rgba(0, 0, 0, 0.12)}}@supports (-ms-ime-align: auto){.mui-dropdown__menu{border-top:1px solid rgba(0, 0, 0, 0.12);border-left:1px solid rgba(0, 0, 0, 0.12)}}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.429;color:rgba(0, 0, 0, 0.87);text-decoration:none;white-space:nowrap}.mui-dropdown__menu > li > a:hover,.mui-dropdown__menu > li > a:focus{text-decoration:none;color:rgba(0, 0, 0, 0.87);background-color:#EEEEEE}.mui-dropdown__menu > .mui--is-disabled > a,.mui-dropdown__menu > .mui--is-disabled > a:hover,.mui-dropdown__menu > .mui--is-disabled > a:focus{color:#EEEEEE}.mui-dropdown__menu > .mui--is-disabled > a:hover,.mui-dropdown__menu > .mui--is-disabled > a:focus{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}.mui-dropdown--up > .mui-dropdown__menu{margin:0 0 2px}.mui-dropdown--right > .mui-dropdown__menu{margin:0 0 0 2px}.mui-dropdown--left > .mui-dropdown__menu{margin:0 2px 0 0}.up,.ontime,.trendUp{color:#4CAF50 !important}.down,.delayed,.trendDown{color:#F44336 !important} +.grid-3.svelte-2wxoro{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:1rem} +.TRcard.svelte-1hucmyw.svelte-1hucmyw{display:flex;justify-content:space-between;align-items:center;padding:0.7rem 0rem;z-index:1;width:100%;opacity:0.9;margin-bottom:0.4rem;border-bottom-color:#666666;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 1px 5px 0 rgba(0, 0, 0, 0.12)}.TRcard.svelte-1hucmyw .entry.svelte-1hucmyw{align-items:left;display:flex;display:-ms-flexbox;-ms-flex-align:center;flex-direction:column}.TRcard.svelte-1hucmyw .entry.svelte-1hucmyw:not(:first-child):last-child{justify-content:flex-end;align-items:right}.entryOld.svelte-1hucmyw.svelte-1hucmyw{height:36px;margin:6px 0;vertical-align:middle}.TRcardOld.svelte-1hucmyw.svelte-1hucmyw{position:relative;background-color:#fff;min-height:48px;margin:0.5rem 8px;border-bottom-color:#666666;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 1px 5px 0 rgba(0, 0, 0, 0.12);vertical-align:middle;padding:0.5rem 0;border-radius:0.1rem} +.avatar.svelte-1talptw{max-width:48px;max-height:48px;border-radius:0.1rem} +label.svelte-ui3fhj{font-weight:normal} +.svelte-10ahukt{background:#f55a4e;padding:3px} +.svelte-1py2nd3{background:#f55a4e;padding:3px} + +/*# sourceMappingURL=bundle.css.map */ \ No newline at end of file diff --git a/live/build/bundle.css.map b/live/build/bundle.css.map new file mode 100644 index 0000000..3400693 --- /dev/null +++ b/live/build/bundle.css.map @@ -0,0 +1,24 @@ +{ + "version": 3, + "file": "bundle.css", + "sources": [ + "../../App.svelte", + "../../SettingsListItem.svelte", + "../../TrainRoute.svelte", + "../../Twitter.svelte", + "../../TwitterSettings.svelte", + "../../Favourites.svelte", + "../../NotFound.svelte" + ], + "sourcesContent": [ + "\n\n\n\n\n\n\n
\n\n", + "\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n", + "\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n", + "\n\n\n\n{#if tweet}\n
\n
\n
\n
\n \"@{tweet.user.screen_name}\"/\n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n
\n
\n{/if}\n", + "\n\n\n\n
\n
Twitter
\n {#if mounted}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n {/if}\n\n
\n", + "\n\n\n\n
\n

Favourites

\n\n
\n
a
\n
b
\n
c
\n
d
\n
\n\n
\n\n\n\n", + "\n\n\n\n

NotFound

\n\n

Oops, this route doesn't exist!

\n" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/live/build/bundle.js b/live/build/bundle.js new file mode 100644 index 0000000..1e94e9f --- /dev/null +++ b/live/build/bundle.js @@ -0,0 +1,8 @@ +var app=function(){"use strict";function e(){}const t=e=>e;function n(e){return e()}function r(){return Object.create(null)}function o(e){e.forEach(n)}function a(e){return"function"==typeof e}function l(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function i(t,...n){if(null==t)return e;const r=t.subscribe(...n);return r.unsubscribe?()=>r.unsubscribe():r}function s(e){let t;return i(e,e=>t=e)(),t}const c="undefined"!=typeof window;let u=c?()=>window.performance.now():()=>Date.now(),d=c?e=>requestAnimationFrame(e):e;const h=new Set;function f(e){h.forEach(t=>{t.c(e)||(h.delete(t),t.f())}),0!==h.size&&d(f)}function S(e){let t;return 0===h.size&&d(f),{promise:new Promise(n=>{h.add(t={c:e,f:n})}),abort(){h.delete(t)}}}function g(e,t){e.appendChild(t)}function y(e,t,n){e.insertBefore(t,n||null)}function m(e){e.parentNode.removeChild(e)}function p(e,t){for(let n=0;ne.removeEventListener(t,n,r)}function H(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function v(e,t){t=""+t,e.data!==t&&(e.data=t)}function N(e,t){(null!=t||e.value)&&(e.value=t)}function R(e,t){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!1,!1,t),n}const W=new Set;let T,k=0;function M(e,t,n,r,o,a,l,i=0){const s=16.666/r;let c="{\n";for(let e=0;e<=1;e+=s){const r=t+(n-t)*a(e);c+=100*e+`%{${l(r,1-r)}}\n`}const u=c+`100% {${l(n,1-n)}}\n}`,d=`__svelte_${function(e){let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return t>>>0}(u)}_${i}`,h=e.ownerDocument;W.add(h);const f=h.__svelte_stylesheet||(h.__svelte_stylesheet=h.head.appendChild(B("style")).sheet),S=h.__svelte_rules||(h.__svelte_rules={});S[d]||(S[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));const g=e.style.animation||"";return e.style.animation=`${g?g+", ":""}${d} ${r}ms linear ${o}ms 1 both`,k+=1,d}function A(e,t){const n=(e.style.animation||"").split(", "),r=n.filter(t?e=>e.indexOf(t)<0:e=>-1===e.indexOf("__svelte")),o=n.length-r.length;o&&(e.style.animation=r.join(", "),k-=o,k||d(()=>{k||(W.forEach(e=>{const t=e.__svelte_stylesheet;let n=t.cssRules.length;for(;n--;)t.deleteRule(n);e.__svelte_rules={}}),W.clear())}))}function D(e){T=e}function E(){if(!T)throw new Error("Function called outside component initialization");return T}function P(e){E().$$.on_mount.push(e)}function G(e){E().$$.on_destroy.push(e)}function F(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e(t))}const I=[],O=[],K=[],x=[],Y=Promise.resolve();let _=!1;function $(e){K.push(e)}function U(e){x.push(e)}let V=!1;const j=new Set;function J(){if(!V){V=!0;do{for(let e=0;e{Q=null})),Q}function Z(e,t,n){e.dispatchEvent(R(`${t?"intro":"outro"}${n}`))}const z=new Set;let ee;function te(){ee={r:0,c:[],p:ee}}function ne(){ee.r||o(ee.c),ee=ee.p}function re(e,t){e&&e.i&&(z.delete(e),e.i(t))}function oe(e,t,n,r){if(e&&e.o){if(z.has(e))return;z.add(e),ee.c.push(()=>{z.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}const ae={duration:0};function le(n,r,l,i){let s=r(n,l),c=i?0:1,d=null,h=null,f=null;function g(){f&&A(n,f)}function y(e,t){const n=e.b-c;return t*=Math.abs(n),{a:c,b:e.b,d:n,duration:t,start:e.start,end:e.start+t,group:e.group}}function m(r){const{delay:a=0,duration:l=300,easing:i=t,tick:m=e,css:p}=s||ae,B={start:u()+a,b:r};r||(B.group=ee,ee.r+=1),d?h=B:(p&&(g(),f=M(n,c,r,l,a,i,p)),r&&m(0,1),d=y(B,l),$(()=>Z(n,r,"start")),S(e=>{if(h&&e>h.start&&(d=y(h,l),h=null,Z(n,d.b,"start"),p&&(g(),f=M(n,c,d.b,d.duration,0,i,s.css))),d)if(e>=d.end)m(c=d.b,1-c),Z(n,d.b,"end"),h||(d.b?g():--d.group.r||o(d.group.c)),d=null;else if(e>=d.start){const t=e-d.start;c=d.a+d.d*i(t/d.duration),m(c,1-c)}return!(!d&&!h)}))}return{run(e){a(s)?q().then(()=>{s=s(),m(e)}):m(e)},end(){g(),d=h=null}}}function ie(e,t){oe(e,1,1,()=>{t.delete(e.key)})}function se(e,t,n,r,o,a,l,i,s,c,u,d){let h=e.length,f=a.length,S=h;const g={};for(;S--;)g[e[S].key]=S;const y=[],m=new Map,p=new Map;for(S=f;S--;){const e=d(o,a,S),i=n(e);let s=l.get(i);s?r&&s.p(e,t):(s=c(i,e),s.c()),m.set(i,y[S]=s),i in g&&p.set(i,Math.abs(S-g[i]))}const B=new Set,C=new Set;function w(e){re(e,1),e.m(i,u,l.has(e.key)),l.set(e.key,e),u=e.first,f--}for(;h&&f;){const t=y[f-1],n=e[h-1],r=t.key,o=n.key;t===n?(u=t.first,h--,f--):m.has(o)?!l.has(r)||B.has(r)?w(t):C.has(o)?h--:p.get(r)>p.get(o)?(C.add(r),w(t)):(B.add(o),h--):(s(n,l),h--)}for(;h--;){const t=e[h];m.has(t.key)||s(t,l)}for(;f;)w(y[f-1]);return y}function ce(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}function ue(e){e&&e.c()}function de(e,t,r){const{fragment:l,on_mount:i,on_destroy:s,after_update:c}=e.$$;l&&l.m(t,r),$(()=>{const t=i.map(n).filter(a);s?s.push(...t):o(t),e.$$.on_mount=[]}),c.forEach($)}function he(e,t){const n=e.$$;null!==n.fragment&&(o(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function fe(e,t){-1===e.$$.dirty[0]&&(I.push(e),_||(_=!0,Y.then(J)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const o=r.length?r[0]:n;return h.ctx&&i(h.ctx[e],h.ctx[e]=o)&&(h.bound[e]&&h.bound[e](o),f&&fe(t,e)),n}):[],h.update(),f=!0,o(h.before_update),h.fragment=!!l&&l(h.ctx),n.target){if(n.hydrate){const e=function(e){return Array.from(e.childNodes)}(n.target);h.fragment&&h.fragment.l(e),e.forEach(m)}else h.fragment&&h.fragment.c();n.intro&&re(t.$$.fragment),de(t,n.target,n.anchor),J()}D(u)}class ge{$destroy(){he(this,1),this.$destroy=e}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(){}}const ye=[];function me(e,t){return{subscribe:pe(e,t).subscribe}}function pe(t,n=e){let r;const o=[];function a(e){if(l(t,e)&&(t=e,r)){const e=!ye.length;for(let e=0;e{const e=o.indexOf(s);-1!==e&&o.splice(e,1),0===o.length&&(r(),r=null)}}}}function Be(t,n,r){const l=!Array.isArray(t),s=l?[t]:t,c=n.length<2;return me(r,t=>{let r=!1;const u=[];let d=0,h=e;const f=()=>{if(d)return;h();const r=n(l?u[0]:u,t);c?t(r):h=a(r)?r:e},S=s.map((e,t)=>i(e,e=>{u[t]=e,d&=~(1<{d|=1<{he(e,1)}),ne()}r?((o=new r({})).$on("routeEvent",e[10]),ue(o.$$.fragment),re(o.$$.fragment,1),de(o,t.parentNode,t)):o=null}},i(e){n||(o&&re(o.$$.fragment,e),n=!0)},o(e){o&&oe(o.$$.fragment,e),n=!1},d(e){e&&m(t),o&&he(o,e)}}}function we(e){let t,n;var r=e[0];function o(e){return{props:{params:e[1]}}}if(r){var a=new r(o(e));a.$on("routeEvent",e[9])}return{c(){a&&ue(a.$$.fragment),t=b()},m(e,r){a&&de(a,e,r),y(e,t,r),n=!0},p(e,n){const l={};if(2&n&&(l.params=e[1]),r!==(r=e[0])){if(a){te();const e=a;oe(e.$$.fragment,1,0,()=>{he(e,1)}),ne()}r?((a=new r(o(e))).$on("routeEvent",e[9]),ue(a.$$.fragment),re(a.$$.fragment,1),de(a,t.parentNode,t)):a=null}else r&&a.$set(l)},i(e){n||(a&&re(a.$$.fragment,e),n=!0)},o(e){a&&oe(a.$$.fragment,e),n=!1},d(e){e&&m(t),a&&he(a,e)}}}function be(e){let t,n,r,o;const a=[we,Ce],l=[];function i(e,t){return e[1]?0:1}return t=i(e),n=l[t]=a[t](e),{c(){n.c(),r=b()},m(e,n){l[t].m(e,n),y(e,r,n),o=!0},p(e,[o]){let s=t;t=i(e),t===s?l[t].p(e,o):(te(),oe(l[s],1,1,()=>{l[s]=null}),ne(),n=l[t],n||(n=l[t]=a[t](e),n.c()),re(n,1),n.m(r.parentNode,r))},i(e){o||(re(n),o=!0)},o(e){oe(n),o=!1},d(e){l[t].d(e),e&&m(r)}}}function Le(){const e=window.location.href.indexOf("#/");let t=e>-1?window.location.href.substr(e+1):"/";const n=t.indexOf("?");let r="";return n>-1&&(r=t.substr(n+1),t=t.substr(0,n)),{location:t,querystring:r}}const He=me(Le(),(function(e){const t=()=>{e(Le())};return window.addEventListener("hashchange",t,!1),function(){window.removeEventListener("hashchange",t,!1)}}));Be(He,e=>e.location),Be(He,e=>e.querystring);function ve(e){if(!e||e.length<1||"/"!=e.charAt(0)&&0!==e.indexOf("#/"))throw Error("Invalid parameter location");return Ne(()=>{window.location.hash=("#"==e.charAt(0)?"":"#")+e})}function Ne(e){return new Promise(t=>{setTimeout(()=>{t(e())},0)})}function Re(t,n,r){let o,a=e;!function(e,t,n){e.$$.on_destroy.push(i(t,n))}(t,He,e=>r(4,o=e)),t.$$.on_destroy.push(()=>a());let{routes:l={}}=n,{prefix:s=""}=n;class c{constructor(e,t){if(!t||"function"!=typeof t&&("object"!=typeof t||!0!==t._sveltesparouter))throw Error("Invalid component object");if(!e||"string"==typeof e&&(e.length<1||"/"!=e.charAt(0)&&"*"!=e.charAt(0))||"object"==typeof e&&!(e instanceof RegExp))throw Error('Invalid value for "path" argument');const{pattern:n,keys:r}=function(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,o,a,l=[],i="",s=e.split("/");for(s[0]||s.shift();o=s.shift();)"*"===(n=o[0])?(l.push("wild"),i+="/(.*)"):":"===n?(r=o.indexOf("?",1),a=o.indexOf(".",1),l.push(o.substring(1,~r?r:~a?a:o.length)),i+=~r&&!~a?"(?:/([^/]+?))?":"/([^/]+?)",~a&&(i+=(~r?"?":"")+"\\"+o.substring(a))):i+="/"+o;return{keys:l,pattern:new RegExp("^"+i+(t?"(?=$|/)":"/?$"),"i")}}(e);this.path=e,"object"==typeof t&&!0===t._sveltesparouter?(this.component=t.route,this.conditions=t.conditions||[],this.userData=t.userData):(this.component=t,this.conditions=[],this.userData=void 0),this._pattern=n,this._keys=r}match(e){s&&e.startsWith(s)&&(e=e.substr(s.length)||"/");const t=this._pattern.exec(e);if(null===t)return null;if(!1===this._keys)return t;const n={};let r=0;for(;r{u.push(new c(t,e))}):Object.keys(l).forEach(e=>{u.push(new c(e,l[e]))});let d=null,h=null;const f=function(){const e=E();return(t,n)=>{const r=e.$$.callbacks[t];if(r){const o=R(t,n);r.slice().forEach(t=>{t.call(e,o)})}}}(),S=(e,t)=>{setTimeout(()=>{f(e,t)},0)};return t.$set=e=>{"routes"in e&&r(2,l=e.routes),"prefix"in e&&r(3,s=e.prefix)},t.$$.update=()=>{if(17&t.$$.dirty){r(0,d=null);let e=0;for(;!d&&e"opacity: "+e*a}}function Ee(e,{delay:t=0,duration:n=400,easing:r=Ae}){const o=getComputedStyle(e),a=+o.opacity,l=parseFloat(o.height),i=parseFloat(o.paddingTop),s=parseFloat(o.paddingBottom),c=parseFloat(o.marginTop),u=parseFloat(o.marginBottom),d=parseFloat(o.borderTopWidth),h=parseFloat(o.borderBottomWidth);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(20*e,1)*a};height: ${e*l}px;padding-top: ${e*i}px;padding-bottom: ${e*s}px;margin-top: ${e*c}px;margin-bottom: ${e*u}px;border-top-width: ${e*d}px;border-bottom-width: ${e*h}px;`}}He.subscribe(e=>{ke=e.location+(e.querystring?"?"+e.querystring:""),Te.map(Me)});const Pe=new Map([["ZNJ","Northampton North Junction"],["ZPS","Plaistow L.T."],["MSC","Marseille St Charles"],["ZAE","Aldgate East"],["ZEP","East Putney"],["GBG","Gorebridge"],["ZHR","Holloway Road"],["ZPN","Paddington (Bakerloo Line)"],["NMC","New Mills Central"],["HBB","Hubberts Bridge"],["ADC","Adlington (Cheshire)"],["WHI","Whitstable"],["FEG","Fellgate (T & W Metro)"],["HRH","Horsham"],["LNW","Llanwrtyd"],["RYP","Ryde Pier Head"],["PRU","Prudhoe"],["TLH","Tilehurst"],["SBM","South Bermondsey"],["TAM","Tamworth"],["CFD","Castleford"],["NMN","New Mills Newtown"],["HFS","Hatfield & Stainforth"],["WFN","Watford North"],["GWN","Gowerton"],["WMW","Walthamstow Queens Road"],["INP","Inverkip"],["WRW","Warwick"],["WHG","Westhoughton"],["WIM","Wimbledon"],["CLM","Collingham"],["DRF","Driffield"],["NWT","Newtown (Powys)"],["SOE","Southend East"],["PNF","Penyffordd"],["WYE","Wye"],["BAR","Bare Lane"],["YRM","Yarm"],["NTH","Neath"],["ERH","Erith"],["CFO","Chalfont & Latimer"],["FGW","Fishguard & Goodwick"],["BAY","Bayford"],["BER","Bearley"],["SIT","Sittingbourne"],["WHL","White Hart Lane"],["DRN","Duirinish"],["SWK","Southwick"],["MTM","Martin Mill"],["NWR","Newtonmore"],["ADW","Addiewell"],["ALV","Alvechurch"],["SQE","Surrey Quays"],["HIG","Highbridge & Burnham"],["RMC","Rotherham Central"],["NTN","Newton"],["CBN","Camborne"],["RIA","Rhoose Cardiff Intl Airport"],["BXW","Boxhill & Westhumble"],["TNN","Thorne North"],["FTN","Fratton"],["RUA","Ruabon"],["LAY","Layton"],["LLV","Llandovery"],["MAS","Manors"],["CLG","Claygate"],["CTT","Church Stretton"],["GGV","Gargrave"],["TNS","Thorne South"],["CRE","Crewe"],["WXC","Wrexham Central"],["CAD","Cadoxton"],["HYB","Honeybourne"],["WGT","Wigton"],["WRX","Wrexham General"],["RHO","Rhosneigr"],["KWL","Kidwelly"],["RYD","Ryde Esplanade"],["PTL","Priesthill & Darnley"],["NWN","Newton for Hyde"],["SBP","Stonebridge Park"],["PEV","Pevensey & Westham"],["ACL","Acle"],["GDH","Gordon Hill"],["LSY","Lower Sydenham"],["SEB","Seaburn (T & W Metro)"],["AYW","Aberystwyth"],["LNZ","Lenzie"],["MDS","Morden South"],["ADD","Adderley Park"],["EFL","East Farleigh"],["SPU","Staplehurst"],["UHL","Upper Holloway"],["WLP","Welshpool"],["CAS","Castleton"],["HAM","Hamworthy"],["BGN","Bridgend"],["BRN","Bearsden"],["APG","Aspley Guise"],["DEW","Dewsbury"],["BPS","Blackpool South"],["KSL","Kearsley"],["PYJ","Paisley St James"],["NBA","New Barnet"],["WHR","West Horndon"],["HLD","Hellifield"],["RDR","Radyr"],["VAL","Valley"],["BSD","Bearsted"],["FIT","Filton Abbey Wood"],["NAY","Newton Aycliffe"],["BWK","Berwick-upon-Tweed"],["BIF","Barrow-in-Furness"],["DMY","Drumry"],["CKH","Corkerhill"],["LBK","Long Buckby"],["BEA","Bridge of Allan"],["PEB","Pevensey Bay"],["CRL","Chorley"],["ECS","Eccles Road"],["FSG","Fishersgate"],["YSR","Ystrad Rhondda"],["UNV","University (T & W Metro)"],["WCL","West Calder"],["GNW","Greenwich"],["SAB","Smallbrook Junction"],["BDA","Brundall"],["LNG","Longcross"],["PSW","Polesworth"],["SPP","Shippea Hill"],["FIL","Filey"],["HRR","Harrington"],["MGM","Metheringham"],["RAV","Ravenglass for Eskdale"],["OLT","Olton"],["CRD","Chester Road"],["SAH","Salhouse"],["GIL","Gillingham (Dorset)"],["GNT","Gunton"],["FEN","Fenny Stratford"],["CBB","Carbis Bay"],["BLW","Bulwell"],["FMR","Falmer"],["WNY","White Notley"],["SFD","Salford Central"],["BGI","Bargeddie"],["WLY","Woodley"],["BYC","Betws-y-Coed"],["WYT","Wythall"],["KID","Kidderminster"],["SMO","South Merton"],["ULC","Ulceby"],["AWK","Adwick"],["CRR","Corrour"],["OVR","Overton"],["RET","Retford"],["STQ","Southampton Town Quay (Bus)"],["BBS","Bordesley"],["GOS","Grange-over-Sands"],["MAY","Maybole"],["YET","Yetminster"],["LIH","Leigh (Kent)"],["SMC","Sampford Courtenay"],["SLO","Slough"],["LHE","Loch Eil Outward Bound"],["WBP","West Brompton"],["NBT","Norbiton"],["KVP","Kiveton Park"],["PNL","Pannal"],["MEO","Meols"],["SRG","Seer Green"],["CTO","Carlton"],["GLY","Glynde"],["MSW","Mansfield Woodhouse"],["IBM","IBM"],["BRL","Barrhill"],["TRD","Troed-y-rhiw"],["MEC","Meols Cop"],["POL","Polsloe Bridge"],["TPN","Ton Pentre"],["BCK","Buckley"],["CHC","Charing Cross (Glasgow)"],["SRA","Stratford (London)"],["WWO","West Worthing"],["RSH","Rose Hill Marple"],["SMT","St Margarets (Hertfordshire)"],["WIH","Winchmore Hill"],["CRS","Carstairs"],["KGX","London Kings Cross"],["LHS","Limehouse"],["THB","Thornliebank"],["DRT","Darton"],["LLD","Llandudno"],["NRN","Nairn"],["KGE","Kingsknowe"],["TNA","Thornton Abbey"],["LRD","London Road (Guildford)"],["BAL","Balham"],["FRH","Calais Frethun"],["WAC","Warrington Central"],["GMV","Great Malvern"],["MNC","Markinch"],["WRT","Worstead"],["EBB","Ebbw Vale Town"],["MEL","Meldreth"],["BYB","Blythe Bridge"],["LOT","Lostock"],["CNM","Cheltenham Spa"],["FZH","Frizinghall"],["LLJ","Llandudno Junction"],["UPM","Upminster"],["DBC","Dumbarton Central"],["STT","Stewarton"],["DBE","Dumbarton East"],["TYS","Tyseley"],["DNS","Dinas Powys"],["DEE","Dundee"],["LDY","Ladybank"],["PBY","Pembrey & Burry Port"],["GMD","Grimsby Docks"],["KEI","Keighley"],["BIP","Bishopstone"],["SFO","Stanford-le-Hope"],["BYF","Broughty Ferry"],["MYH","Maryhill"],["DRM","Drem"],["NBE","Newbridge"],["WSF","Winsford"],["THD","Thames Ditton"],["HMM","Hammerton"],["HOR","Horley"],["BLY","Bletchley"],["ARU","Arundel"],["FNB","Farnborough (Main)"],["CGW","Caergwrle"],["MAO","Martins Heron"],["OXT","Oxted"],["PAT","Patricroft"],["GMB","Grimsby Town"],["TUR","Turkey Street"],["TAF","Taffs Well"],["LTN","Luton Airport Parkway"],["CHM","Chelmsford"],["FLW","Fulwell"],["HTW","Hartwood"],["PNZ","Penzance"],["WDE","Wood End"],["GCW","Glan Conwy"],["HOV","Hove"],["TRH","Trehafod"],["WTE","Whitlocks End"],["DLJ","Dalston Junction"],["VIR","Virginia Water"],["ASP","Aspatria"],["LPT","Longport"],["LWS","Lewes"],["EWD","Earlswood (West Midlands)"],["WAN","Wanborough"],["BTO","Betchworth"],["FLN","Flint"],["BUK","Bucknell"],["LLM","Llangammarch"],["CNG","Congleton"],["WMN","Warminster"],["MTL","Mortlake"],["BWT","Bridgwater"],["BRT","Barlaston"],["MNP","Manor Park"],["ESL","Eastleigh"],["SHO","Sholing"],["EGT","Egton"],["HDH","Hampstead Heath"],["WCP","Worcester Park"],["ISP","Islip"],["TPB","Thorpe Bay"],["CRH","Crouch Hill"],["TBW","Tunbridge Wells"],["GLE","Gleneagles"],["KSW","Kirkby Stephen"],["ALW","Allens West"],["DMG","Dinas Rhondda"],["BSR","Broadstairs"],["WEM","Wem"],["CSN","Chessington North"],["HRD","Harling Road"],["AUI","Ardlui"],["ERI","Eridge"],["APD","Appledore (Kent)"],["DHN","Deighton"],["GLG","Glengarnock"],["MLH","Mill Hill (Lancashire)"],["WRP","Warwick Parkway"],["GOF","Golf Street"],["CHY","Chertsey"],["WOK","Woking"],["LLE","Llanelli"],["MYB","London Marylebone"],["WIL","Willington"],["WIJ","Willesden Junction"],["BME","Broome"],["CAM","Camberley"],["SRT","Shortlands"],["SOP","Southport"],["TYB","Tan-y-Bwlch (Bus)"],["ENC","Enfield Chase"],["RYP","Ryde Pier Head"],["BEB","Bebington"],["LGW","Langwathby"],["WSE","Winchelsea"],["BFR","London Blackfriars"],["SCT","Scotscalder"],["RUG","Rugby"],["SRS","Selhurst"],["MLF","Milford (Surrey)"],["PNA","Penally"],["STU","Sturry"],["TWB","Tweedbank"],["YSM","Ystrad Mynach"],["JEQ","Jewellery Quarter"],["PTW","Prestwick Town"],["EBK","Eastbrook"],["PER","Penrhiwceiber"],["CWM","Cwmbran"],["ING","Invergowrie"],["RBS","British Steel Redcar"],["HLG","Hall Green"],["LSN","Livingston North"],["RML","Romiley"],["BUU","Burnham-on-Crouch"],["ZBC","Barons Court Underground"],["CPN","Chapleton"],["ROG","Rogart"],["LVG","Livingston South"],["HTC","Heaton Chapel"],["KGN","Kings Nympton"],["LCC","Lochluichart"],["DCG","Duncraig"],["TOD","Todmorden"],["WEA","West Ealing"],["SOK","South Kenton"],["SLA","Slateford"],["HLC","Helensburgh Central"],["LGJ","Loughborough Junction"],["HED","Halewood"],["ATH","Atherstone"],["EYN","Eynsford"],["SOT","Stoke-on-Trent"],["CAC","Caldercruix"],["SRC","Streatham Common"],["MSO","Moston"],["BEU","Beaulieu Road"],["ZBK","Barking Underground"],["BNR","Brockley Whins (T & W Metro)"],["LOH","Lostock Hall"],["MIL","Mill Hill Broadway"],["OHL","Old Hill"],["BDW","Bedwyn"],["PMA","Portsmouth Arms"],["WHC","Walthamstow Central"],["KDY","Kirkcaldy"],["FAZ","Fazakerley"],["GLC","Glasgow Central"],["HLU","Helensburgh Upper"],["LTG","Lostock Gralam"],["DLK","Dalston Kingsland"],["MTN","Moreton (Dorset)"],["EBL","East Boldon (T & W Metro)"],["CYN","Cynghordy"],["CHT","Chathill"],["HPT","Hopton Heath"],["ALO","Alloa"],["PMS","Portsmouth & Southsea"],["CON","Connel Ferry"],["WNC","Windsor & Eton Central"],["BET","Bethnal Green"],["SST","Stansted Mountfitchet"],["ESH","Esher"],["WSE","Winchelsea"],["CSS","Chessington South"],["CSL","Codsall"],["CPA","Corpach"],["HGF","Hag Fold"],["SRD","Stapleton Road"],["UPM","Upminster"],["BSJ","Bedford St Johns"],["RYB","Roy Bridge"],["DMP","Dumpton Park"],["LYT","Lymington Town"],["WHE","Whalley"],["HKC","Hackney Central"],["HYC","Hyde Central"],["PEW","Pewsey"],["AHN","Ashton-under-Lyne"],["PRW","Perranwell"],["CKL","Corkickle"],["DOD","Dodworth"],["WTA","Wester Hailes"],["PAW","Pelaw (T & W Metro)"],["AYP","Albany Park"],["NEW","Newcraighall"],["ORE","Ore"],["HAS","Halesworth"],["KWG","Kew Gardens"],["EXG","Exhibition Centre"],["HIL","Hillside"],["MPL","Marple"],["SDA","Snodland"],["BKA","Bookham"],["BNT","Brinnington"],["HKW","Hackney Wick"],["ACR","Accrington"],["QRP","Queens Road Peckham"],["MDG","Midgham"],["BAW","Blackwater"],["MEX","Mexborough"],["ADK","Ardwick"],["DNY","Danby"],["HIN","Hindley"],["PYG","Paisley Gilmour Street"],["PRA","Prestwick Intl Airport"],["DDP","Dudley Port"],["NMK","Newmarket"],["KGL","Kings Langley"],["MLN","Milngavie"],["FML","Frimley"],["NTR","Northallerton"],["SDW","Sandwich"],["BBW","Berry Brow"],["DID","Didcot Parkway"],["SOG","Stonegate"],["HAI","Halling"],["PWL","Pwllheli"],["WCF","Westcliff"],["HGG","Haggerston"],["CMR","Cromer"],["ALX","Alexandria"],["COO","Cookham"],["MRS","Monks Risborough"],["YRT","Yorton"],["BEN","Bentham"],["GOB","Gobowen"],["HAL","Hale"],["CAY","Carntyne"],["BUI","Burnside"],["SEL","Sellafield"],["WIM","Wimbledon"],["YRD","Yardley Wood"],["CHN","Cheshunt"],["HFX","Halifax"],["ELD","Earlswood (Surrey)"],["TOK","Three Oaks"],["PBN","Paris Nord"],["TED","Teddington"],["HKM","Hykeham"],["GRS","Garscadden"],["DSL","Disley"],["HDE","Hedge End"],["BNP","Barnstaple"],["KNS","Kennishead"],["LAK","Lakenheath"],["TUH","Tulse Hill"],["BSY","Brondesbury"],["FOX","Foxfield"],["SHR","Shrewsbury"],["WMG","Welham Green"],["HLF","Hillfoot"],["PMR","Peckham Rye"],["SGR","Slade Green"],["FRE","Freshfield"],["SDG","Sandling"],["DMR","Dalmuir"],["TRF","Trefforest"],["LZB","Lazonby & Kirkoswald"],["KCK","Knockholt"],["LLW","Llwyngwril"],["DCT","Danescourt"],["HRM","Harrietsham"],["WCM","Wickham Market"],["FEA","Featherstone"],["HNH","Herne Hill"],["MCO","Manchester Oxford Road"],["LER","Leytonstone High Road"],["RAU","Rauceby"],["HMW","Hampton Wick"],["SJS","St James Street"],["TEA","Tees-side Airport"],["LNR","Llanwrda"],["BEE","Beeston"],["MTV","Mount Vernon"],["BSV","Buckshaw Parkway"],["DAL","Dalmally"],["KTN","Kentish Town"],["TRA","Trafford Park"],["AMB","Ambergate"],["GOX","Goxhill"],["PLT","Pontlottyn"],["ATT","Attadale"],["POK","Pokesdown"],["STI","Stadium of Light (T & W Metro)"],["HOO","Hooton"],["KGS","Kings Sutton"],["KTW","Kentish Town West"],["ZPC","Piccadilly Circus Underground"],["UTT","Uttoxeter"],["BLH","Bellshill"],["BGA","Brundall Gardens"],["PRT","Prestatyn"],["CPT","Clapton"],["LET","Letchworth Garden City"],["PSN","Parson Street"],["PNE","Penge East"],["NFD","Northfield"],["LTV","Lichfield Trent Valley"],["CBG","Cambridge"],["NPD","New Pudsey"],["ETL","East Tilbury"],["LTV","Lichfield Trent Valley"],["SNI","Snaith"],["AVN","Avonmouth"],["TEN","Tenby"],["PTG","Port Glasgow"],["SPF","Springfield"],["TBD","Three Bridges"],["SLD","Salford Crescent"],["GOE","Goldthorpe"],["SMY","St Mary Cray"],["DBY","Derby"],["HXX","Heathrow Airport T123"],["THO","Thornford"],["PRE","Preston"],["KWN","Kilwinning"],["PRE","Preston"],["HWH","Haltwhistle"],["CNN","Canonbury"],["BOH","Bosham"],["OPK","Orrell Park"],["BDB","Broadbottom"],["LCK","Lockwood"],["NFL","Northfleet"],["TNP","Tonypandy"],["FOC","Falls of Cruachan"],["HYM","Haymarket"],["HIT","Hitchin"],["CLE","Cleethorpes"],["PAL","Palmers Green"],["ARD","Ardgay"],["BUS","Busby"],["LGE","Long Eaton"],["TUL","Tulloch"],["ABD","Aberdeen"],["BRO","Bridge of Orchy"],["GCT","Great Coates"],["INE","Ince & Elton"],["WTT","Witton"],["TRS","Thurston"],["FNC","Farncombe"],["EBD","Ebbsfleet International"],["DUR","Durrington-on-Sea"],["CSA","Cosham"],["PEG","Pegswood"],["CEA","Cleland"],["GCR","Gloucester"],["TAC","Tackley"],["MFH","Milford Haven"],["PRY","Perry Barr"],["RHL","Rhyl"],["THW","The Hawthorns"],["WTH","Whitehaven"],["KNG","Kingston"],["MIK","Micklefield"],["LRG","Lairg"],["EPS","Epsom"],["WBQ","Warrington Bank Quay"],["CUW","Clunderwen"],["DTG","Dinting"],["ACT","Ascot"],["BID","Bidston"],["BWG","Bowling"],["BMP","Brampton (Cumbria)"],["CLT","Clacton-on-Sea"],["BCH","Birchington-on-Sea"],["BEF","Benfleet"],["HMS","Helmsdale"],["KEY","Keyham"],["MOS","Moss Side"],["PTK","Partick"],["SGN","South Greenford"],["SOR","Sole Street"],["DBD","Denby Dale"],["BSP","Brondesbury Park"],["SEE","Southease"],["CNR","Crianlarich"],["CRT","Chartham"],["SUG","Sugar Loaf"],["HGM","Higham"],["WNG","Waun-gron Park"],["DUM","Dumbreck"],["PMR","Peckham Rye"],["CRB","Corbridge"],["NFA","North Fambridge"],["AGV","Abergavenny"],["HAG","Hagley"],["CEL","Chelford"],["HGD","Hungerford"],["BWN","Bloxwich North"],["KVD","Kelvindale"],["RUS","Ruswarp"],["CLV","Claverdon"],["RNH","Rainhill"],["EWW","Ewell West"],["HHY","Highbury & Islington"],["APP","Appleby"],["HKN","Hucknall"],["MSN","Marsden"],["TPC","Thorpe Culvert"],["EWE","Ewell East"],["GTN","Grangetown"],["LEO","Leominster"],["DOL","Dolau"],["CUH","Curriehill"],["KBK","Kents Bank"],["DPS","Dublin Port (Stena)"],["PAI","Pallion (T & W Metro)"],["MCB","Moulsecoomb"],["NMT","Needham Market"],["WFI","Westerfield"],["SCG","Stone Crossing"],["STR","Stranraer"],["ZWA","Waterloo Underground"],["PIL","Pilning"],["SWD","Swinderby"],["MSK","Marske"],["TRN","Troon"],["WID","Widnes"],["KMS","Kemsing"],["STZ","St Peters (T & W Metro)"],["ANF","Ashurst New Forest"],["WTN","Whitton"],["ANL","Anniesland"],["SCS","Starcross"],["FRB","Fairbourne"],["STK","Stockton"],["BEV","Beverley"],["KKM","Kirkham & Wesham"],["PDW","Paddock Wood"],["CAN","Carnoustie"],["STC","Strathcarron"],["CUF","Cuffley"],["MTP","Montpelier"],["SWM","Swanscombe"],["CBE","Canterbury East"],["DMF","Dumfries"],["HNT","Huntly"],["LLT","Llanbister Road"],["WAT","London Waterloo"],["MEW","Maesteg (Ewenny Road)"],["SUT","Sutton Coldfield"],["LDS","Leeds"],["BNM","Burnham"],["BEL","Beauly"],["HXM","Hoveton & Wroxham"],["HDL","Headstone Lane"],["LEY","Leyland"],["PRE","Preston"],["SNY","Sunnymeads"],["RNF","Rainford"],["EGN","Eastrington"],["KGH","Kinghorn"],["MAT","Matlock"],["NCK","New Cumnock"],["NWP","Newport (South Wales)"],["QPW","Queens Park (London)"],["MSD","Moorside"],["WLM","Williamwood"],["DWD","Dolwyddelan"],["WTL","Whitland"],["MPK","Mosspark"],["MAU","Mauldeth Road"],["HEX","Hexham"],["CLI","Clifton"],["SYD","Sydenham"],["LAD","Ladywell"],["CTM","Chatham"],["SWY","Sway"],["TRU","Truro"],["DLY","Dalry"],["PRP","Preston Park"],["BPB","Blackpool Pleasure Beach"],["LHO","Langho"],["SPS","Stepps"],["TOP","Topsham"],["BIA","Bishop Auckland"],["HTH","Handforth"],["MRT","Moreton (Merseyside)"],["MCH","March"],["TDU","Tondu"],["BCS","Bicester North"],["NMP","Northampton"],["ALP","Althorpe"],["BSE","Bury St Edmunds"],["PTR","Petersfield"],["BUC","Buckenham"],["KLY","Kenley"],["ELW","Eltham"],["WHA","Westenhanger"],["WWL","Whitwell"],["EDW","East Dulwich"],["NRD","North Road"],["BTE","Bitterne"],["IMW","Imperial Wharf"],["ANN","Annan"],["BDN","Brading"],["CES","Cressing"],["KBW","Knebworth"],["DAR","Darlington"],["HWD","Hawarden"],["TAD","Tadworth"],["BAG","Bagshot"],["ZHS","Kensington High St Underground"],["SMD","Stamford"],["BUD","Burneside"],["DOT","Dunston"],["ELS","Elstree & Borehamwood"],["CHF","Church Fenton"],["HAZ","Hazel Grove"],["KMH","Kempston Hardwick"],["SOF","South Woodham Ferrers"],["NRW","Norwich"],["AHS","Ashurst"],["FZW","Fitzwilliam"],["MIN","Milliken Park"],["RUN","Runcorn"],["WSL","Walsall"],["OKM","Oakham"],["WAT","London Waterloo"],["AYP","Albany Park"],["MST","Maesteg"],["KNU","Knucklas"],["LEI","Leicester"],["WAT","London Waterloo"],["WCR","Whitecraigs"],["MRP","Moorthorpe"],["SNH","St Helens Central"],["CAO","Cannock"],["RAI","Rainham (Kent)"],["RKT","Ruskington"],["YOK","Yoker"],["BDT","Bridlington"],["LDN","Llandanwg"],["SHJ","St Helens Junction"],["CHH","Christs Hospital"],["CMF","Cromford"],["HYR","Haydons Road"],["LGN","Longton"],["BXH","Bexleyheath"],["CPM","Chippenham"],["DFR","Drumfrochar"],["NCO","Newcourt"],["WET","Weeton"],["EMD","East Midlands Parkway"],["POP","Poppleton"],["AYH","Aylesham"],["ZUM","Upminster Underground"],["CHD","Chesterfield"],["HEZ","Heworth (T & W Metro)"],["PRB","Prestbury"],["GTR","Goostrey"],["ACK","Acklington"],["KNL","Kensal Green"],["SAN","Sandown"],["THL","Tile Hill"],["SIP","Shipton"],["SFA","Stratford International"],["UPW","Upwey"],["GIP","Gipsy Hill"],["RUT","Rutherglen"],["SES","South Elmsall"],["TGM","Teignmouth"],["ADS","Ardrossan Harbour"],["BCG","Birchgrove"],["RFD","Rochford"],["PES","Pensarn"],["BAI","Blairhill"],["TLB","Talybont"],["SVG","Stevenage"],["WPE","Wapping"],["BDG","Bridgeton"],["THH","Thatto Heath"],["ATB","Attenborough"],["MTH","Motherwell"],["WKM","Wokingham"],["GMT","Grosmont"],["ARL","Arlesey"],["BGD","Bargoed"],["REE","Reedham (Norfolk)"],["HPA","Honor Oak Park"],["NUN","Nuneaton"],["TRM","Trimley"],["WTY","Witley"],["SWO","Snowdown"],["MDB","Maidstone Barracks"],["ENL","Enfield Lock"],["MIJ","Mitcham Junction"],["MDE","Maidstone East"],["GOD","Godalming"],["HGR","Hither Green"],["SPO","Spondon"],["WNT","Wandsworth Town"],["ECR","East Croydon"],["CLS","Chester-le-Street"],["QYD","Quakers Yard"],["WBC","Waterbeach"],["NES","Neston"],["PCN","Paisley Canal"],["WSA","West Allerton"],["SFI","Shawfair"],["SLH","Sleights"],["HTN","Hatton"],["KIV","Kiveton Bridge"],["RIS","Rishton"],["DMS","Dormans"],["LCN","Lincoln Central"],["AYP","Albany Park"],["ERI","Eridge"],["WLC","Waltham Cross"],["MPT","Morpeth"],["MDW","Maidstone West"],["WEL","Wellingborough"],["HRY","Harringay Green Lanes"],["MOB","Mobberley"],["SWL","Swale"],["ECC","Eccles"],["HEW","Heworth"],["LLH","Llangennech"],["BKO","Brookwood"],["GSY","Guiseley"],["SBY","Selby"],["WSB","Westbury"],["ETC","Etchingham"],["BLT","Blantyre"],["SSD","Stansted Airport"],["DOR","Dore"],["NVR","Navigation Road"],["CFF","Croftfoot"],["CKN","Crewkerne"],["GLT","Glenrothes with Thornton"],["WTG","Watlington"],["BAN","Banbury"],["HYS","Hayes (Kent)"],["BHR","Builth Road"],["KND","Kingswood"],["KNN","Kings Norton"],["WOL","Wolverton"],["WTO","Water Orton"],["ADR","Airdrie"],["LLC","Llandecwyn"],["PKS","Parkstone (Dorset)"],["GOM","Gomshall"],["TYL","Tyndrum Lower"],["BOP","Bowes Park"],["HRY","Harringay Green Lanes"],["HER","Hersham"],["WRH","Worthing"],["BON","Bolton"],["BOA","Bradford-on-Avon"],["CFH","Chafford Hundred"],["UTY","Upper Tyndrum"],["NAR","Narberth"],["BDL","Birkdale"],["HMT","Ham Street"],["MKM","Melksham"],["AUW","Ascott-under-Wychwood"],["EAL","Ealing Broadway"],["EAL","Ealing Broadway"],["WTB","Whitby"],["CST","London Cannon Street"],["DWN","Darwen"],["BLE","Bramley (West Yorkshire)"],["AAP","Alexandra Palace"],["NUF","Nutfield"],["STG","Stirling"],["HON","Honiton"],["BPW","Bristol Parkway"],["KIT","Kintbury"],["RAD","Radley"],["MCE","Metro Centre"],["SNT","Stanlow & Thornton"],["BYD","Barry Docks"],["DAM","Dalmeny"],["FIN","Finstock"],["BMT","Bedminster"],["HSL","Haslemere"],["CET","Colchester Town"],["HDG","Heald Green"],["PNR","Penrith"],["MHM","Merstham"],["HSC","Hoscar"],["SNO","St Neots"],["BGM","Bellingham"],["NTL","Netley"],["HYH","Hythe"],["RDC","Redditch"],["LTK","Little Kimble"],["FOD","Ford"],["CLJ","Clapham Junction"],["HON","Honiton"],["CLJ","Clapham Junction"],["PNW","Penge West"],["WFJ","Watford Junction"],["HCH","Holmes Chapel"],["LVN","Littlehaven"],["BTL","Batley"],["ZET","Earl's Court Underground"],["WDL","Woodhall"],["BLX","Bloxwich"],["HLS","Hilsea"],["MKT","Marks Tey"],["OKE","Okehampton"],["HWY","High Wycombe"],["SYT","Somerleyton"],["MRY","Maryport"],["SDY","Sandy"],["CLJ","Clapham Junction"],["CEF","Chapel-en-le-Frith"],["LTP","Littleport"],["KPT","Kilpatrick"],["WDD","Widdrington"],["WHM","Whimple"],["CIT","Chislehurst"],["PFR","Pontefract Baghill"],["BKC","Birkenhead Central"],["HOY","Honley"],["INC","Ince"],["CLJ","Clapham Junction"],["GRC","Great Chesterford"],["IPS","Ipswich"],["WCB","Westcombe Park"],["CLJ","Clapham Junction"],["LYP","Lymington Pier"],["CTF","Catford"],["CTE","Chatelherault"],["FWY","Five Ways"],["NDL","North Dulwich"],["BWO","Bricket Wood"],["BKN","Birkenhead North"],["SOW","Sowerby Bridge"],["BTY","Bentley (Hampshire)"],["KLD","Kildale"],["NQY","Newquay"],["SCA","Scarborough"],["BEG","Beltring"],["BKP","Birkenhead Park"],["CLJ","Clapham Junction"],["GLO","Glossop"],["GRH","Gartcosh"],["TUT","Tutbury & Hatton"],["BCE","Bracknell"],["NNT","Nunthorpe"],["ZNP","Newbury Park Underground"],["SND","Sandhurst"],["FSB","Fishbourne (West Sussex)"],["SLW","Salwick"],["DIG","Digby & Sowton"],["EDG","Edge Hill"],["INH","Invershin"],["BTB","Barnetby"],["SJN","St James (T & W Metro)"],["SUY","Sudbury"],["AIG","Aigburth"],["ELR","Elsecar"],["SGB","Smethwick Galton Bridge"],["HYL","Hayle"],["KEM","Kemble"],["WIM","Wimbledon"],["SAS","St Annes-on-the-Sea"],["SHM","Sheringham"],["WRL","Wetheral"],["SUP","Sundridge Park"],["AWM","Ashwell & Morden"],["BUY","Burley Park"],["ABA","Aberdare"],["CRO","Croy"],["DAT","Datchet"],["LGS","Langside"],["WDM","Windermere"],["GMY","Goodmayes"],["BDQ","Bradford Forster Square"],["SOH","South Hampstead"],["GPK","Grange Park"],["EDP","Edinburgh Park"],["NWB","North Wembley"],["NWE","Newport (Essex)"],["CYT","Cherry Tree"],["HUY","Huyton"],["SFN","Shifnal"],["TOM","Tottenham Hale"],["CDI","Crediton"],["HUT","Hutton Cranswick"],["ABW","Abbey Wood"],["GDL","Godley"],["RHD","Ribblehead"],["TYP","Tynemouth (T & W Metro)"],["CSO","Croston"],["PHR","Penshurst"],["LAC","Lancing"],["SWS","South Wigston"],["BUX","Buxton"],["MLD","Mouldsworth"],["FLE","Fleet"],["MKR","Market Rasen"],["LEG","Lea Green"],["CMH","Cwmbach"],["TMC","Templecombe"],["TWI","Twickenham"],["WEE","Weeley"],["HID","Hall I' Th' Wood"],["TTF","Thetford"],["DLH","Doleham"],["BTF","Bottesford"],["JOR","Jordanhill"],["TIL","Tilbury Town"],["BMR","Bromborough Rake"],["DPD","Dorking Deepdene"],["BUT","Burton-on-Trent"],["LEO","Leominster"],["FRN","Fearn"],["SPK","Sutton Parkway"],["STL","Southall"],["VXH","Vauxhall"],["ALM","Alnmouth"],["HMN","Homerton"],["PNS","Penistone"],["DFP","Dublin Ferryport"],["SED","Shelford"],["MLB","Millbrook (Bedfordshire)"],["WWR","Wandsworth Road"],["WBR","Whaley Bridge"],["CNS","Conisbrough"],["JHN","Johnstone"],["LND","Longniddry"],["STF","Stromeferry"],["BCN","Branchton"],["PET","Petts Wood"],["RSG","Rose Grove"],["SAM","Saltmarshe"],["BNS","Barnes"],["PKG","Penkridge"],["SGB","Smethwick Galton Bridge"],["MUF","Manchester United FC"],["RHY","Rhymney"],["AMR","Amersham"],["KDB","Kidbrooke"],["PLC","Pluckley"],["CSM","Castleton Moor"],["HWF","Heathrow Airport T4 (Bus)"],["TAD","Tadworth"],["GTY","Gatley"],["HWX","Heathrow Airport T5 (Bus)"],["BLK","Blackrod"],["SLK","Silkstone Common"],["BSB","Bleasby"],["AGS","Argyle Street"],["MUI","Muirend"],["SMG","St Margarets (London)"],["MAN","Manchester Piccadilly"],["SEG","Selling"],["PLN","Portlethen"],["BSM","Branksome"],["NLN","New Lane"],["HTO","Hightown"],["BYI","Barry Island"],["HOL","Holton Heath"],["SFL","Seaforth & Litherland"],["SBR","Spean Bridge"],["KGS","Kings Sutton"],["LRB","London Road (Brighton)"],["GSC","Gilshochill"],["MCM","Morecambe"],["STP","London St Pancras (Intl)"],["FGT","Faygate"],["ALD","Alderley Edge"],["COH","Crowborough"],["ANF","Ashurst New Forest"],["OCK","Ockendon"],["ASN","Addlestone"],["CLL","Collington"],["MOT","Motspur Park"],["SDL","Sandhills"],["KKB","Kirkby in Ashfield"],["PAD","London Paddington"],["WOB","Woburn Sands"],["BNI","Barnes Bridge"],["QPW","Queens Park (London)"],["BNY","Barnsley"],["BPN","Blackpool North"],["KWD","Kirkwood"],["SCH","Scotstounhill"],["KNT","Kenton"],["LHD","Leatherhead"],["DRO","Dronfield"],["MRD","Morchard Road"],["CHU","Cheadle Hulme"],["LIC","Lichfield City"],["DSM","Darsham"],["ENF","Enfield Town"],["SSE","Shoreham-by-Sea"],["LGF","Longfield"],["LIP","Liphook"],["ACC","Acton Central"],["NHE","New Hythe"],["GCH","Garelochhead"],["GSN","Garston (Hertfordshire)"],["WRY","Wraysbury"],["RID","Ridgmont"],["KNF","Knutsford"],["STN","Stonehaven"],["WHP","West Hampstead Thameslink"],["DIS","Diss"],["MLG","Mallaig"],["REI","Reigate"],["DNG","Dunton Green"],["LUX","Luxulyan"],["GFD","Greenford"],["GNR","Green Road"],["STH","Shepreth"],["BXW","Boxhill & Westhumble"],["DUD","Duddeston"],["FER","Fernhill"],["CHI","Chingford"],["BKQ","Hamilton Square"],["MUB","Musselburgh"],["ULL","Ulleskelf"],["CLP","Clapham High Street"],["COW","Cowdenbeath"],["GLH","Glasshoughton"],["ATL","Attleborough"],["BIN","Bingham"],["LGO","Llangynllo"],["LRB","London Road (Brighton)"],["WKD","Walkden"],["HRW","Harrow & Wealdstone"],["URM","Urmston"],["CUA","Culrain"],["NBW","North Berwick"],["DMC","Drumchapel"],["EMP","Emerson Park"],["HLE","Hillington East"],["MGN","Marston Green"],["UWL","Upper Warlingham"],["LWM","Llantwit Major"],["ZDE","Dagenham East Underground"],["HIB","High Brooms"],["TQY","Torquay"],["LEU","Leuchars"],["LST","London Liverpool Street"],["ZTG","Turnham Green Underground"],["CDY","Cartsdyke"],["MTC","Mitcham Eastfields"],["HVF","Haverfordwest"],["CSW","Chestfield & Swalecliffe"],["TIR","Tir-phil"],["ERL","Earlestown"],["BGL","Bugle"],["HWM","Harlow Mill"],["SYB","Stalybridge"],["NOA","Newton-on-Ayr"],["FRT","Frant"],["GUI","Guide Bridge"],["HLW","Hillington West"],["MYT","Mytholmroyd"],["BKM","Berkhamsted"],["NEL","Nelson"],["NLT","Northolt Park"],["BES","Bescar Lane"],["BNA","Burnage"],["SRY","Shoeburyness"],["MSR","Minster"],["BNH","Barnehurst"],["DUN","Dunbar"],["LLG","Llangadog"],["PIN","Pinhoe"],["POR","Porth"],["CTR","Chester"],["MCK","Marne La Vallee"],["BUO","Bursledon"],["MDL","Middlewood"],["RHM","Reedham (Surrey)"],["WHD","West Hampstead"],["BDH","Bedhampton"],["ROB","Roby"],["KBF","Kirkby-in-Furness"],["RTR","Rochester"],["STV","Stevenston"],["TIP","Tipton"],["ASB","Ardrossan South Beach"],["DBR","Derby Road"],["LMS","Leamington Spa"],["FSK","Fiskerton"],["HWI","Horwich Parkway"],["WLI","Welling"],["WGC","Welwyn Garden City"],["SOU","Southampton Central"],["RUE","Runcorn East"],["FNH","Farnham"],["SRI","Spring Road"],["TAU","Taunton"],["ALT","Altrincham"],["WDS","Woodlesford"],["LEL","Lelant"],["MNR","Manor Road"],["PPL","Pontypool & New Inn"],["RDG","Reading"],["WNR","Windsor & Eton Riverside"],["SWT","Slaithwaite"],["RCD","Rochdale"],["CYP","Crystal Palace"],["DDG","Dorridge"],["KBX","Kirby Cross"],["SBJ","Stourbridge Junction"],["CRI","Cricklewood"],["WDU","West Dulwich"],["SNN","Swinton (Manchester)"],["BRP","Brampton (Suffolk)"],["COV","Coventry"],["DGL","Dingle Road"],["PYC","Pontyclun"],["LNY","Langley"],["GRP","Grove Park"],["HOU","Hounslow"],["SAE","Saltaire"],["BEH","Bedworth"],["SCY","South Croydon"],["BCY","Brockley"],["AVI","Avignon"],["VIC","London Victoria"],["BWD","Birchwood"],["HWN","Harlow Town"],["VIC","London Victoria"],["FRO","Frome"],["VIC","London Victoria"],["AWT","Armathwaite"],["CAT","Caterham"],["COB","Cooden Beach"],["WVH","Wolverhampton"],["HME","Hamble"],["AUG","Aughton Park"],["BEX","Bexhill"],["ACY","Abercynon"],["CML","Carmyle"],["PBR","Potters Bar"],["TOL","Tolworth"],["APN","Newcastle Airport"],["ADN","Ardrossan Town"],["GDP","Gidea Park"],["SBJ","Stourbridge Junction"],["WIJ","Willesden Junction"],["SDM","Shieldmuir"],["SEV","Sevenoaks"],["FRM","Fareham"],["HNA","Hinton Admiral"],["MRN","Marden"],["MIA","Manchester Airport"],["SBT","Stourbridge Town"],["MAI","Maidenhead"],["BKH","Blackheath"],["BYS","Braystones"],["HGT","Harrogate"],["BIL","Billingham"],["STM","St Michaels"],["BVD","Belvedere"],["LTS","Lelant Saltings"],["LHA","Loch Awe"],["BAD","Banstead"],["INT","Ingatestone"],["MKC","Milton Keynes Central"],["EDR","Edmonton Green"],["BNV","Banavie"],["BTP","Braintree Freeport"],["ROC","Roche"],["CHP","Chipstead"],["FNW","Farnworth"],["TAI","Tain"],["GAL","Galashiels"],["CHG","Charing"],["RMD","Richmond"],["MTN","Moreton (Dorset)"],["COR","Corby"],["SOI","Stow"],["BLG","Bellgrove"],["CNF","Carnforth"],["PST","Prestonpans"],["PKT","Park Street"],["SKS","Stocksfield"],["NRC","Newbury Racecourse"],["PNY","Pen-y-bont"],["EKL","East Kilbride"],["SRU","South Ruislip"],["CDU","Cam & Dursley"],["BRV","Bournville"],["WMS","Wemyss Bay"],["UDD","Uddingston"],["BHD","Brithdir"],["MOR","Mortimer"],["CUM","Culham"],["SDH","Sudbury Hill Harrow"],["STA","Stafford"],["PRL","Prittlewell"],["RDT","Radlett"],["SHP","Shepperton"],["CNP","Conway Park"],["TLK","The Lakes"],["BRX","Brixton"],["MTB","Matlock Bath"],["CLN","Chapeltown"],["KYN","Keynsham"],["NWA","North Walsham"],["BYA","Berney Arms"],["REC","Rectory Road"],["RRB","Ryder Brow"],["SUD","Sudbury & Harrow Road"],["SMN","Southminster"],["YAT","Yatton"],["KSN","Kearsney"],["PTF","Pantyffynnon"],["SWN","Swinton (South Yorkshire)"],["SRN","Strines"],["SWA","Swansea"],["TRR","Torre"],["SSC","Seascale"],["HOT","Henley-on-Thames"],["MVL","Malvern Link"],["ARR","Arram"],["SLT","Saltcoats"],["ANZ","Anerley"],["FPK","Finsbury Park"],["LAN","Lancaster"],["THA","Thatcham"],["BSC","Bescot Stadium"],["MTO","Marton"],["EGG","Eggesford"],["KEH","Keith"],["WCY","West Croydon"],["BOD","Bodmin Parkway"],["HOP","Hope (Derbyshire)"],["HRW","Harrow & Wealdstone"],["WTC","Whitchurch (Shropshire)"],["CHX","London Charing Cross"],["KIR","Kirkby"],["WGA","Westgate-on-Sea"],["WSM","Weston-super-Mare"],["BKS","Bekesbourne"],["AHT","Aldershot"],["DFI","Duffield"],["GIR","Girvan"],["ZBB","Barbican Underground"],["HPE","Hope (Flintshire)"],["CLW","Chorleywood"],["HHL","Heath High Level"],["KKS","Kirk Sandall"],["RDD","Riddlesdown"],["RFY","Rock Ferry"],["ABE","Aber"],["HSK","Hassocks"],["SHT","Shotton"],["LVC","Liverpool Central"],["AIN","Aintree"],["HNG","Hengoed"],["LIS","Liss"],["ARM","Armadale"],["FFA","Ffairfach"],["HCB","Hackbridge"],["LVC","Liverpool Central"],["ELP","Ellesmere Port"],["DYF","Dyffryn Ardudwy"],["TYW","Tywyn"],["CWN","Cowden"],["EGH","Egham"],["RET","Retford"],["HAY","Hayes & Harlington"],["SAT","South Acton"],["PMT","Polmont"],["HPQ","Harwich International"],["WED","Wedgwood"],["BIO","Baillieston"],["WCH","Whitchurch (Hampshire)"],["MNE","Manea"],["SNF","Shenfield"],["ROM","Romsey"],["CHL","Chilworth"],["CDN","Coulsdon Town"],["TLS","Thorpe-le-Soken"],["WRS","Wressle"],["BDY","Bredbury"],["THI","Thirsk"],["WES","Westerton"],["CPU","Capenhurst"],["LRH","Larkhall"],["OLD","Old Street"],["DGT","Deansgate"],["SEM","Seamer"],["SVB","Severn Beach"],["BMC","Bromley Cross"],["SEC","Seaton Carew"],["ZLW","Whitechapel"],["SEE","Southease"],["SOA","Southampton Airpt Parkway"],["WDO","Waddon"],["WTS","Whatstandwell"],["LPY","Liverpool South Parkway"],["HFN","Hertford North"],["KGM","Kingham"],["WFL","Wainfleet"],["SKN","St Keyne Wishing Well Halt"],["DPT","Devonport"],["SOW","Sowerby Bridge"],["WDU","West Dulwich"],["BCB","Burscough Bridge"],["HST","High Street"],["LEM","Leyton Midland Road"],["PYL","Pyle"],["WRU","West Ruislip"],["WYB","Weybridge"],["TAB","Tame Bridge Parkway"],["TRE","Trefforest Estate"],["WYB","Weybridge"],["HND","Hanborough"],["WLW","Welwyn North"],["BMO","Birmingham Moor Street"],["BCJ","Burscough Junction"],["DCW","Dorchester West"],["LVJ","James Street"],["RDF","Radcliffe (Nottinghamshire)"],["CPY","Clapham (North Yorkshire)"],["RMF","Romford"],["SAV","Stratford-upon-Avon"],["LHW","Lochwinnoch"],["NOT","Nottingham"],["CUD","Cuddington"],["LLA","Llanaber"],["SNE","Stone"],["SHL","Shawlands"],["FFD","Freshford"],["SHF","Sheffield"],["YRK","York"],["CSD","Cobham & Stoke d'Abernon"],["ENT","Entwistle"],["PRN","Parton"],["ROL","Rolleston"],["BRH","Borth"],["BCV","Bruce Grove"],["SMR","Smethwick Rolfe Street"],["ACN","Achnasheen"],["KWB","Kew Bridge"],["SAR","St Andrews Road"],["ASF","Ashfield"],["FLM","Flimby"],["LBT","Larbert"],["WOR","Worle"],["CWL","Colwall"],["EXC","Exeter Central"],["NTB","Norton Bridge"],["TWY","Twyford"],["ROR","Rogerstone"],["BDI","Bradford Interchange"],["WNL","Whinhill"],["BLA","Blair Atholl"],["KML","Kemsley"],["SDR","Saunderton"],["GRK","Gourock"],["VXH","Vauxhall"],["FTW","Fort William"],["LIT","Littlehampton"],["SIV","St Ives"],["BLD","Baildon"],["GLM","Gillingham (Kent)"],["SHS","Shotts"],["UCK","Uckfield"],["BTG","Barnt Green"],["BOM","Bromborough"],["ACH","Achnashellach"],["UHA","Uphall"],["VXH","Vauxhall"],["DIN","Dingwall"],["HDW","Hadley Wood"],["SOB","Southbourne"],["LEE","Lee"],["QBR","Queenborough"],["LOC","Lockerbie"],["SMA","Small Heath"],["WDB","Woodbridge"],["HIR","Horton-in-Ribblesdale"],["PON","Ponders End"],["FRI","Frinton-on-Sea"],["SAL","Salisbury"],["SRH","Streatham Hill"],["CRK","Chirk"],["EXR","Essex Road"],["HOK","Hook"],["SML","Sea Mills"],["HLY","Holytown"],["NWD","Norwood Junction"],["ASY","Ashley"],["ESW","Elmswell"],["HOH","Harrow-on-the-Hill"],["AGR","Angel Road"],["NSD","Newstead"],["HUL","Hull"],["HLL","Heath Low Level"],["PBL","Parbold"],["JOH","Johnston"],["SMB","Smithy Bridge"],["NSH","North Sheen"],["UPL","Upholland"],["BGE","Broad Green"],["CBY","Charlbury"],["WME","Woodmansterne"],["LAR","Largs"],["MMO","Melton Mowbray"],["LIN","Linlithgow"],["WDT","West Drayton"],["HFE","Hertford East"],["KET","Kettering"],["PUL","Pulborough"],["QRB","Queenstown Road Battersea"],["WMB","Wembley Central"],["BRG","Borough Green & Wrotham"],["GEA","Gretna Green"],["KPA","Kensington Olympia"],["CIM","Cilmeri"],["SWR","Stewartby"],["CMO","Camelon"],["GLQ","Glasgow Queen Street"],["BSU","Brunstane"],["IFI","Ifield"],["ARN","Arnside"],["FRW","Fairwater"],["LKE","Lake"],["CTL","Cattal"],["DMH","Dilton Marsh"],["WWD","Woolwich Dockyard"],["BTS","Burntisland"],["HSW","Heswall"],["KEL","Kelvedon"],["DBL","Dunblane"],["NLR","North Llanrwst"],["HUB","Hunmanby"],["SAF","Salfords"],["WNE","Wilnecote"],["QPK","Queens Park (Glasgow)"],["WTM","Witham"],["AVP","Aylesbury Vale Parkway"],["PTD","Pontarddulais"],["RDG","Reading"],["EXM","Exmouth"],["SNW","Swanwick"],["FCN","Falconwood"],["GOO","Goole"],["LBO","Loughborough"],["HSB","Helsby"],["SHD","Shildon"],["TAY","Taynuilt"],["SNS","Staines"],["CBW","Canterbury West"],["EGF","East Garforth"],["AUR","Aberdour"],["DKG","Dorking"],["GAR","Garrowhill"],["HUN","Huntingdon"],["LLY","Llwynypia"],["SAY","Swanley"],["TTH","Thornton Heath"],["LSK","Liskeard"],["LSW","Leasowe"],["PMP","Plumpton"],["WKK","Wakefield Kirkgate"],["RFY","Rock Ferry"],["DDK","Dagenham Dock"],["HPN","Hapton"],["LNB","Llanbradach"],["BAD","Banstead"],["BIT","Bicester Village"],["MBR","Middlesbrough"],["AAT","Achanalt"],["HIP","Highams Park"],["SIN","Singer"],["TYG","Tygwyn"],["CUP","Cupar"],["FKC","Folkestone Central"],["SIL","Sileby"],["ESM","Elsenham"],["EPD","Epsom Downs"],["HBP","Hornbeam Park"],["HOZ","Howwood"],["RFY","Rock Ferry"],["MEP","Meopham"],["SWG","Swaythling"],["AVM","Aviemore"],["BHK","Bush Hill Park"],["PEA","Peartree"],["WNN","Wennington"],["AYL","Aylesford"],["PIT","Pitlochry"],["OVE","Overpool"],["ZCO","Croxley Underground"],["GYM","Great Yarmouth"],["CPK","Carpenders Park"],["GLC","Glasgow Central"],["LAS","Llansamlet"],["SPN","Spooner Row"],["FKW","Folkestone West"],["KBC","Kinbrace"],["AND","Anderston"],["ZCW","Canada Water"],["DON","Doncaster"],["EAR","Earley"],["CTN","Charlton"],["ZFD","Farringdon Underground"],["SBF","St Budeaux Ferry Road"],["PCD","Pencoed"],["LBG","London Bridge"],["MZH","Maze Hill"],["WTI","Winnersh Triangle"],["HPD","Harpenden"],["SHT","Shotton"],["LBG","London Bridge"],["NRT","Nethertown"],["LBG","London Bridge"],["HMY","Hairmyres"],["HHB","Heysham Port"],["PSH","Pershore"],["PAN","Pangbourne"],["CLU","Carluke"],["SOC","Southend Central"],["MFF","Minffordd"],["BRF","Brierfield"],["COT","Cottingley"],["PTB","Pentre-bach"],["SKG","Skegness"],["INS","Insch"],["EXN","Exton"],["LOO","Looe"],["WWA","Woolwich Arsenal"],["CLK","Clock House"],["BPT","Bishopton"],["BAS","Bere Alston"],["LCS","Locheilside"],["MEV","Merthyr Vale"],["BDH","Bedhampton"],["SDE","Shadwell"],["STP","London St Pancras (Intl)"],["WEH","West Ham"],["HUP","Humphrey Park"],["BTO","Betchworth"],["EVE","Evesham"],["SEF","Seaford"],["ALR","Alresford"],["HNL","Henley-in-Arden"],["SRL","Shirley"],["BFF","Blaenau Ffestiniog"],["FNN","Farnborough North"],["NLW","Newton-le-Willows"],["YAL","Yalding"],["BMH","Bournemouth"],["LHM","Lealholm"],["TVP","Tiverton Parkway"],["BIW","Biggleswade"],["WLS","Woolston"],["BIP","Bishopstone"],["EBV","Ebbw Vale Parkway"],["NNG","Newark North Gate"],["PHG","Penhelig"],["MNG","Manningtree"],["TAT","Tattenham Corner"],["MEN","Menheniot"],["FSB","Fishbourne (West Sussex)"],["CNN","Canonbury"],["HRO","Harold Wood"],["BKJ","Beckenham Junction"],["NFN","Nafferton"],["BNO","Benton (T & W Metro)"],["GRV","Gravesend"],["NBY","Newbury"],["SDC","Shoreditch High Street"],["AXP","Alexandra Parade"],["FXN","Foxton"],["MTS","Montrose"],["BTN","Brighton"],["RDG","Reading"],["CIR","Caledonian Rd & Barnsbury"],["TAL","Talsarnau"],["CWN","Cowden"],["NLS","Nailsea & Backwell"],["WNH","Warnham"],["HWB","Hawarden Bridge"],["LLN","Llandaf"],["NRB","Norbury"],["CSY","Coseley"],["LLL","Llandeilo"],["RIC","Rickmansworth"],["WMB","Wembley Central"],["ADV","Andover"],["PFL","Purfleet"],["SWE","Swineshead"],["SHB","Shirebrook"],["DFD","Dartford"],["HAN","Hanwell"],["NUT","Nutbourne"],["MLW","Marlow"],["WBL","Warblington"],["RHI","Rhiwbina"],["DEP","Deptford"],["CUB","Cumbernauld"],["HCN","Headcorn"],["LAW","Landywood"],["THC","Thurnscoe"],["CNO","Chetnole"],["COI","Crosshill"],["SHW","Shawford"],["BAJ","Baglan"],["SUR","Surbiton"],["AUK","Auchinleck"],["KTL","Kirton Lindsey"],["LID","Lidlington"],["CDR","Cardross"],["SYL","Syon Lane"],["HYT","Hyde North"],["LAI","Laindon"],["HOX","Hoxton"],["LEW","Lewisham"],["BSK","Basingstoke"],["CRW","Crawley"],["GBS","Goring-by-Sea"],["WHS","Whyteleafe South"],["MHR","Market Harborough"],["ERD","Erdington"],["GST","Gathurst"],["LGG","Langley Green"],["OVR","Overton"],["NEH","New Eltham"],["SDN","St Denys"],["MTG","Mottingham"],["WTR","Wateringbury"],["CDB","Cardiff Bay"],["FNT","Feniton"],["BLP","Belper"],["HSG","Hathersage"],["HVH","Hoek Van Holland"],["DVN","Davenport"],["LWH","Lawrence Hill"],["WCK","Wick"],["BMB","Bamber Bridge"],["DRI","Drigg"],["TWN","Town Green"],["CHE","Cheam"],["SAX","Saxmundham"],["MAG","Maghull"],["SBE","Starbeck"],["MCN","Machynlleth"],["CBC","Coatbridge Central"],["BYL","Barry Links"],["BEM","Bempton"],["SFR","Shalford"],["BIC","Billericay"],["BTR","Braintree"],["ISL","Isleworth"],["HLN","Harlington"],["SSM","Stocksmoor"],["GMN","Great Missenden"],["KNE","Kennett"],["POO","Poole"],["RNR","Roughton Road"],["ILK","Ilkley"],["PMH","Portsmouth Harbour"],["RDA","Redland"],["FRS","Forsinard"],["HRN","Hornsey"],["SLY","Selly Oak"],["OXT","Oxted"],["CBS","Coatbridge Sunnyside"],["WMD","Wymondham"],["TEY","Teynham"],["BAV","Barrow Haven"],["BYE","Bynea"],["WKB","West Kilbride"],["BCU","Brockenhurst"],["AMT","Aldermaston"],["LGB","Langbank"],["MRF","Moorfields"],["PMH","Portsmouth Harbour"],["ROO","Roose"],["KIL","Kildonan"],["BHC","Balloch"],["WIV","Wivenhoe"],["BTT","Battersby"],["CCT","Cathcart"],["HRL","Harlech"],["RGW","Ramsgreave & Wilpshire"],["WVF","Wivelsfield"],["SAJ","St Johns"],["WDH","Woodhouse"],["FOG","Forest Gate"],["HTF","Hartford"],["WNW","West Norwood"],["CSG","Cressington"],["SHU","Stonehouse"],["WDN","Walsden"],["SAC","St Albans"],["WFF","Whifflet"],["HOW","Howden"],["MLY","Morley"],["ASG","Alsager"],["LOB","Longbridge"],["WOM","Wombwell"],["MSH","Mossley Hill"],["ECP","Energlyn & Churchill Park"],["EPH","Elephant & Castle"],["RDW","Reading West"],["EKB","Eskbank"],["BRU","Bruton"],["CME","Combe"],["MIH","Mills Hill"],["PPD","Pontypridd"],["SAD","Sandwell & Dudley"],["KGT","Kilgetty"],["BRI","Bristol Temple Meads"],["HOC","Hockley"],["LBR","Llanbedr"],["NSG","New Southgate"],["DGC","Denham Golf Club"],["PNM","Penmere"],["MHS","Meadowhall"],["PSL","Port Sunlight"],["DWW","Dawlish Warren"],["RTN","Renton"],["BUJ","Burton Joyce"],["HUR","Hurst Green"],["BDK","Baldock"],["LNY","Langley"],["BSH","Bushey"],["DOW","Downham Market"],["KIN","Kingussie"],["BLO","Blaydon"],["DVY","Dovey Junction"],["BWS","Barrow Upon Soar"],["SGL","South Gyle"],["WHT","Whitchurch (Glamorgan)"],["ACB","Acton Bridge"],["ZHA","Hammersmith Underground"],["WRB","Wrabness"],["NQU","North Queensferry"],["TYC","Ty Croes"],["ANC","Ancaster"],["NBN","New Brighton"],["HEC","Heckington"],["QUI","Quintrell Downs"],["WCX","Wembley Stadium"],["LWT","Lowestoft"],["RAN","Rannoch"],["THU","Thurgarton"],["CSK","Calstock"],["MER","Merthyr Tydfil"],["NEI","Neilston"],["CBD","Conon Bridge"],["DNO","Dunrobin Castle"],["HUD","Huddersfield"],["SKW","Stoke Newington"],["ARG","Arisaig"],["CNW","Conwy"],["MNN","Menston"],["PLE","Pollokshields East"],["LLO","Llandrindod"],["LAU","Laurencekirk"],["MSL","Mossley"],["SIE","Sherburn-in-Elmet"],["CBH","Cambridge Heath"],["KBN","Kilburn High Road"],["SID","Sidcup"],["FEL","Feltham"],["CCC","Criccieth"],["STO","South Tottenham"],["WOO","Wool"],["GRK","Gourock"],["LLI","Llandybie"],["AXM","Axminster"],["WGV","Wargrave"],["HSD","Hamstead"],["PLW","Pollokshields West"],["BRK","Berwick (Sussex)"],["CTW","Church & Oswaldtwistle"],["XIB","Bourg St Maurice"],["SKI","Skipton"],["BDM","Bedford"],["PLM","Plumley"],["YVJ","Yeovil Junction"],["DEN","Dean"],["DAM","Dalmeny"],["WGN","Wigan North Western"],["WRE","Wrenbury"],["RYN","Roydon"],["YVJ","Yeovil Junction"],["ABH","Abererch"],["UNI","University"],["AMY","Amberley"],["CSB","Carshalton Beeches"],["EFF","Effingham Junction"],["SVK","Seven Kings"],["DEA","Deal"],["WNP","Wanstead Park"],["ALK","Aslockton"],["ULV","Ulverston"],["LIV","Liverpool Lime Street"],["ABC","Altnabreac"],["LAP","Lapford"],["NIT","Nitshill"],["RAM","Ramsgate"],["KNO","Knottingley"],["LIV","Liverpool Lime Street"],["CSH","Carshalton"],["BFE","Bere Ferrers"],["AVY","Aberdovey"],["CBK","Cranbrook (Devon)"],["WLN","Wellington (Shropshire)"],["CGN","Cogan"],["ASC","Ashchurch for Tewkesbury"],["AVF","Avoncliff"],["CBP","Castle Bar Park"],["GSL","Gunnislake"],["HMC","Hampton Court"],["PLY","Plymouth"],["CLA","Clandon"],["CNE","Colne"],["NXG","New Cross Gate"],["CIL","Chilham"],["FLI","Flixton"],["NWX","New Cross"],["BMY","Bramley (Hampshire)"],["CWS","Caersws"],["BHO","Blackhorse Road"],["CFT","Crofton Park"],["GLS","Glaisdale"],["WMI","Wildmill"],["AST","Aston"],["CDT","Caldicot"],["ESD","Elmstead Woods"],["KLN","Kings Lynn"],["SLQ","St Leonards Warrior Square"],["PNC","Penychain"],["BUB","Burnley Barracks"],["BNC","Burnley Central"],["AXM","Axminster"],["AXM","Axminster"],["BGS","Bogston"],["BAC","Bache"],["HWW","How Wood"],["BNG","Bangor (Gwynedd)"],["BRM","Barmouth"],["DNL","Dunlop"],["EML","East Malling"],["CMO","Camelon"],["EDY","East Didsbury"],["SPR","Springburn"],["ELE","Elmers End"],["WKI","West Kirby"],["LBZ","Leighton Buzzard"],["WES","Westerton"],["LYD","Lydney"],["PYT","Poynton"],["RCC","Redcar Central"],["CWE","Crowle"],["KNA","Knaresborough"],["RCE","Redcar East"],["BUH","Brough"],["DAN","Darnall"],["WNF","Winchfield"],["WKF","Wakefield Westgate"],["PWY","Patchway"],["DZY","Danzey"],["FLD","Fauldhouse"],["WPL","Worplesdon"],["BSL","Beasdale"],["KKD","Kirkdale"],["EAG","Eaglescliffe"],["CRM","Cramlington"],["SIH","St Helier"],["HBY","Hartlebury"],["COA","Coatdyke"],["CHW","Chalkwell"],["RYS","Royston"],["DVH","Dove Holes"],["HEV","Hever"],["SPA","Spalding"],["BOG","Bognor Regis"],["EUS","London Euston"],["FRL","Fairlie"],["EDB","Edinburgh"],["MRR","Morar"],["WSH","Wishaw"],["CPW","Chepstow"],["SUU","Sunbury"],["HAP","Hatfield Peverel"],["OUN","Oulton Broad North"],["MIC","Micheldever"],["WOF","Worcester Foregate Street"],["WRX","Wrexham General"],["OUS","Oulton Broad South"],["CAK","Cark"],["FRY","Ferriby"],["FOH","Forest Hill"],["STY","Stratford Parkway"],["OLF","Oldfield Park"],["WAL","Walton-on-Thames"],["PTT","Patterton"],["GLQ","Glasgow Queen Street"],["EBA","Euxton Balshaw Lane"],["HLM","Holmwood"],["FAV","Faversham"],["GOL","Golspie"],["KKH","Kirkhill"],["WSR","Woodsmoor"],["CNL","Canley"],["SPT","Stockport"],["WBD","Whitley Bridge"],["HIA","Hampton-in-Arden"],["BLV","Belle Vue"],["DMK","Denmark Hill"],["DWL","Dawlish"],["FLF","Flowery Field"],["DGY","Deganwy"],["SYS","Syston"],["KKN","Kirknewton"],["WBO","Wimbledon Chase"],["ALB","Albrighton"],["BEP","Bermuda Park (Nuneaton)"],["BFN","Byfleet & New Haw"],["SKM","Stoke Mandeville"],["NEM","New Malden"],["SER","St Erth"],["GNL","Green Lane"],["HEI","Heighington"],["OMS","Ormskirk"],["HBN","Hollingbourne"],["COL","Colchester"],["MES","Melton"],["AHV","Ash Vale"],["KRK","Kirkconnel"],["BYN","Bryn"],["CWC","Chappel & Wakes Colne"],["BIK","Birkbeck"],["SWM","Swanscombe"],["AUD","Audley End"],["BRE","Brentwood"],["YOK","Yoker"],["AHS","Ashurst"],["GSW","Garswood"],["SHU","Stonehouse"],["SNR","Sanderstead"],["BRC","Breich"],["HDM","Haddenham & Thame Parkway"],["BAH","Bank Hall"],["PRR","Princes Risborough"],["SYA","Styal"],["GPO","Gospel Oak"],["SLV","Silver Street"],["FZP","Furze Platt"],["MFA","Morfa Mawddach"],["DLG","Dolgarrog"],["CWB","Colwyn Bay"],["HVN","Havenhouse"],["LUT","Luton"],["GIG","Giggleswick"],["KGP","Kings Park"],["RYH","Rye House"],["GOR","Goring & Streatley"],["HFD","Hereford"],["BIG","Billingshurst"],["STJ","Severn Tunnel Junction"],["SAU","St Austell"],["WHS","Whyteleafe South"],["WST","Wood Street"],["LED","Ledbury"],["MRF","Moorfields"],["OLF","Oldfield Park"],["ATN","Atherton"],["BRS","Berrylands"],["WSB","Westbury"],["CYS","Cathays"],["CWD","Creswell"],["LOS","Lostwithiel"],["BHS","Brockholes"],["THT","Thorntonhall"],["DRG","Drayton Green"],["ANS","Ainsdale"],["DYP","Drayton Park"],["KLY","Kenley"],["LEH","Lea Hall"],["LPR","Long Preston"],["SVS","Seven Sisters"],["WWW","Wootton Wawen"],["SHI","Shiplake"],["WML","Wilmslow"],["EDL","Edale"],["FLX","Felixstowe"],["NBR","Narborough"],["PFY","Poulton-le-Fylde"],["PRP","Preston Park"],["COE","Coombe Junction Halt"],["SST","Stansted Mountfitchet"],["WLD","West St Leonards"],["PMW","Penmaenmawr"],["YEO","Yeoford"],["YVP","Yeovil Pen Mill"],["GRF","Garforth"],["MON","Monifieth"],["NOR","Normanton"],["COM","Commondale"],["ZFD","Farringdon Underground"],["ORR","Orrell"],["LOW","Lowdham"],["YVP","Yeovil Pen Mill"],["HWF","Heathrow Airport T4 (Bus)"],["LPG","Llanfairpwll"],["LWR","Llanrwst"],["CRN","Crowthorne"],["JCH","James Cook"],["LLS","Llanishen"],["NCE","New Clee"],["RAY","Raynes Park"],["SAW","Sawbridgeworth"],["WLO","Waterloo (Merseyside)"],["ROE","Rotherhithe"],["HNB","Herne Bay"],["SHY","Shipley"],["MTA","Mountain Ash"],["SJP","St James' Park"],["LYC","Lympstone Commando"],["NWM","New Milton"],["WIJ","Willesden Junction"],["FLT","Flitwick"],["BRA","Brora"],["HYN","Hyndland"],["RUF","Rufford"],["PTA","Port Talbot Parkway"],["SMH","Stamford Hill"],["GVE","Garve"],["HTE","Hatch End"],["WSE","Winchelsea"],["DLT","Dalton"],["SPY","Shepley"],["CFL","Crossflatts"],["LIH","Leigh (Kent)"],["LYM","Lympstone Village"],["SOL","Solihull"],["CTH","Chadwell Heath"],["FOK","Four Oaks"],["TRI","Tring"],["BLB","Battlesbridge"],["FAL","Falmouth Docks"],["HPL","Hartlepool"],["OXN","Oxenholme Lake District"],["OTF","Otford"],["OUT","Outwood"],["WLE","Whittlesea"],["SBV","St Budeaux Victoria Road"],["HHY","Highbury & Islington"],["CKS","Clarkston"],["EDN","Eden Park"],["SDP","Sandplace"],["AFK","Ashford International"],["DLM","Delamere"],["HHY","Highbury & Islington"],["INK","Inverkeithing"],["SAA","St Albans Abbey"],["HLB","Hildenborough"],["KTH","Kent House"],["BUL","Butlers Lane"],["AML","Acton Main Line"],["FMT","Falmouth Town"],["BAM","Bamford"],["FFD","Freshford"],["WAT","London Waterloo"],["SHN","Shanklin"],["CKT","Crookston"],["BKL","Bickley"],["DND","Dinsdale"],["NCL","Newcastle"],["WLV","Wallasey Village"],["THS","Thurso"],["ZBS","Baker Street Underground"],["WAE","London Waterloo East"],["TIS","Tisbury"],["BXS","Brussels Midi"],["LEA","Leagrave"],["BAB","Balcombe"],["NCZ","Newcastle Central Metro"],["ASH","Ash"],["RDB","Redbridge"],["BBK","Bilbrook"],["BUW","Burley-in-Wharfedale"],["GBD","Gilberdyke"],["NSB","Normans Bay"],["RGT","Rugeley Town"],["SEH","Shoreham (Kent)"],["BSH","Bushey"],["ELG","Elgin"],["FTN","Fratton"],["EBN","Eastbourne"],["FTM","Fort Matilda"],["MBK","Millbrook (Hampshire)"],["POT","Pontefract Tanshelf"],["WGW","Wigan Wallgate"],["SUO","Sutton (Surrey)"],["AYS","Aylesbury"],["LVM","Levenshulme"],["WAD","Wadhurst"],["PGN","Paignton"],["BOC","Bootle"],["BUG","Burgess Hill"],["AHD","Ashtead"],["OKL","Oakleigh Park"],["LTT","Little Sutton"],["BAU","Barton-on-Humber"],["GWE","Gwersyllt"],["PMH","Portsmouth Harbour"],["SBU","Southbury"],["CDF","Cardiff Central"],["DTW","Droitwich Spa"],["FST","London Fenchurch Street"],["CEY","Cononley"],["HML","Hemel Hempstead"],["OKN","Oakengates"],["CGD","Craigendoran"],["PEM","Pemberton"],["NHL","New Holland"],["SNP","Stanhope"],["EST","Easterhouse"],["GRA","Grantham"],["TAP","Taplow"],["SUC","Sutton Common"],["GNH","Greenhithe for Bluewater"],["NCT","Newark Castle"],["BTD","Bolton-on-Dearne"],["HNC","Hamilton Central"],["ECL","Eccleston Park"],["OLY","Ockley"],["PLD","Portslade"],["BBG","Bishopbriggs"],["COP","Copplestone"],["SDB","Sandbach"],["COV","Coventry"],["EXD","Exeter St Davids"],["LTH","Llanhilleth"],["SQH","Sanquhar"],["ERA","Eastham Rake"],["BSK","Basingstoke"],["MIR","Mirfield"],["PFM","Pontefract Monkhill"],["GUN","Gunnersbury"],["WLG","Wallasey Grove Road"],["PBO","Peterborough"],["PLU","Plumstead"],["CDQ","Cardiff Queen Street"],["BXB","Broxbourne"],["HNW","Hamilton West"],["EXT","Exeter St Thomas"],["WLT","Wallington"],["HNX","Hunts Cross"],["HMP","Hampton"],["ALF","Alfreton"],["BAA","Barnham"],["SEA","Seaham"],["WBY","West Byfleet"],["BGL","Bugle"],["WRK","Worksop"],["WWI","West Wickham"],["FGT","Faygate"],["STW","Strawberry Hill"],["NFL","Northfleet"],["BUE","Bures"],["NMP","Northampton"],["CBL","Cambuslang"],["GFN","Giffnock"],["INV","Inverness"],["WGR","Woodgrange Park"],["STS","Saltash"],["STP","London St Pancras (Intl)"],["SUN","Sunderland"],["SDF","Saundersfoot"],["FNV","Furness Vale"],["YAE","Yate"],["MCV","Manchester Victoria"],["RED","Redruth"],["SNG","Sunningdale"],["PDG","Padgate"],["HTR","Heathrow Central Bus Stn"],["BHI","Birmingham International"],["CWH","Crews Hill"],["NTA","Newton Abbot"],["SFA","Stratford International"],["WOH","Woldingham"],["SXY","Saxilby"],["GKC","Greenock Central"],["PTC","Portchester"],["GLD","Guildford"],["BNF","Briton Ferry"],["DAG","Dalgety Bay"],["SOO","Strood"],["DLS","Dalston"],["LFD","Lingfield"],["BBN","Blackburn"],["CGM","Cottingham"],["RVB","Ravensbourne"],["AIR","Airbles"],["BRR","Barrhead"],["CLH","Clitheroe"],["MRM","Manors (T & W Metro)"],["GMT","Grosmont"],["DHM","Durham"],["PAR","Par"],["IVY","Ivybridge"],["LVN","Littlehaven"],["GKW","Greenock West"],["HNK","Hinckley"],["KMK","Kilmarnock"],["RMD","Richmond"],["SIC","Silecroft"],["HAD","Haddiscoe"],["DNM","Denham"],["OXS","Oxshott"],["SLB","Saltburn"],["DNT","Dent"],["WHY","Whyteleafe"],["CRG","Cross Gates"],["LCG","Lochgelly"],["BHG","Bathgate"],["TNF","Tonfanau"],["MAL","Malden Manor"],["NUT","Nutbourne"],["NWX","New Cross"],["TON","Tonbridge"],["TRO","Trowbridge"],["WKG","Workington"],["BSI","Balmossie"],["SMK","Stowmarket"],["LGD","Lingwood"],["FBY","Formby"],["NNP","Ninian Park"],["ADM","Adisham"],["GRL","Greenfaulds"],["RLN","Rowlands Castle"],["AMF","Ammanford"],["KMP","Kempton Park"],["SNL","Stoneleigh"],["BWB","Bow Brickhill"],["ABY","Ashburys"],["BRY","Barry"],["MYL","Maryland"],["BBL","Bat & Ball"],["PUT","Putney"],["CAA","Coventry Arena"],["HMD","Hampden Park"],["GYP","Gypsy Lane"],["CMY","Crossmyloof"],["DUL","Dullingham"],["WNM","Weston Milton"],["AFV","Ansdell & Fairhaven"],["SYH","Sydenham Hill"],["GTW","Gatwick Airport"],["HYK","Hoylake"],["MIS","Mistley"],["PPK","Possilpark & Parkhouse"],["WYM","Wylam"],["MLM","Millom"],["WAV","Wavertree Tech Park"],["LAM","Lamphey"],["CCH","Chichester"],["MLT","Malton"],["SGM","St Germans"],["WND","Wendover"],["HAF","Heathrow Airport T4"],["THE","Theale"],["ADL","Adlington (Lancashire)"],["HWV","Heathrow Airport T5"],["PLK","Plockton"],["HWC","Harwich Town"],["CWU","Crowhurst"],["CHK","Chiswick"],["HEN","Hendon"],["DRU","Drumgelloch"],["HAB","Habrough"],["LVT","Lisvane & Thornhill"],["TOK","Three Oaks"],["SVR","Silverdale"],["HEL","Hensall"],["SON","Steeton & Silsden"],["WIC","Wickford"],["NAN","Nantwich"],["LUD","Ludlow"],["AFS","Ashford (Surrey)"],["SGH","South Gosforth (T & W Metro)"],["WYL","Wylde Green"],["RDH","Redhill"],["RNM","Rainham (Essex)"],["MIF","Millfield (T & W Metro)"],["WIN","Winchester"],["LLR","Llanharan"],["NET","Netherfield"],["BSN","Boston"],["GRN","Grindleford"],["APB","Appley Bridge"],["PYN","Penryn"],["SRR","Sarn"],["BND","Brandon"],["DLW","Dalwhinnie"],["BIB","Bishops Lydeard"],["CUX","Cuxton"],["PRS","Prees"],["CLC","Castle Cary"],["SCF","Stechford"],["CLD","Chelsfield"],["RIL","Rice Lane"],["TBY","Thornaby"],["LPY","Liverpool South Parkway"],["CRV","Craven Arms"],["WMA","West Malling"],["DTN","Denton"],["DOC","Dockyard"],["DCH","Dorchester South"],["NXG","New Cross Gate"],["CDS","Coulsdon South"],["LLF","Llanfairfechan"],["SLL","Stallingborough"],["CDO","Cardonald"],["HAT","Hatfield"],["RDN","Reddish North"],["WOS","Worcester Shrub Hill"],["HAV","Havant"],["SNA","Sandal & Agbrigg"],["MIM","Moreton-in-Marsh"],["ART","Arrochar & Tarbet"],["OBN","Oban"],["RDS","Reddish South"],["TOO","Tooting"],["WMC","Wilmcote"],["SIA","Southend Airport"],["EBT","Edenbridge Town"],["PLG","Polegate"],["BSW","Birmingham Snow Hill"],["GRB","Great Bentley"],["HHB","Heysham Port"],["SNK","Sankey for Penketh"],["BXD","Buxted"],["ASK","Askam"],["CFB","Catford Bridge"],["GMG","Garth (Mid Glamorgan)"],["NCM","North Camp"],["APF","Appleford"],["EWR","East Worthing"],["WON","Walton-on-the-Naze"],["ROW","Rowley Regis"],["WSU","West Sutton"],["BGG","Brigg"],["EBD","Ebbsfleet International"],["ZEL","Elephant & Castle Underground"],["PHR","Penshurst"],["MRB","Manorbier"],["SPH","Shepherds Well"],["STD","Stroud"],["TGS","Ty Glas"],["BCF","Beaconsfield"],["HDF","Hadfield"],["CDD","Cardenden"],["LTL","Littleborough"],["CHR","Christchurch"],["MFT","Mansfield"],["PWE","Pollokshaws East"],["LPW","Lapworth"],["BNE","Bourne End"],["CRA","Cradley Heath"],["CHO","Cholsey"],["WRM","Wareham"],["CSR","Chassen Road"],["SEN","Shenstone"],["BOE","Botley"],["ANG","Angmering"],["DVC","Dovercourt"],["PMG","Porthmadog Harbour (Bus)"],["ORN","Old Roan"],["NGT","Newington"],["KNI","Knighton"],["GVH","Gravelly Hill"],["OXF","Oxford"],["CKY","Crosskeys"],["BLL","Bardon Mill"],["FGH","Fishguard Harbour"],["LYE","Lye"],["CLR","Clarbeston Road"],["HBD","Hebden Bridge"],["IGD","Invergordon"],["YNW","Ynyswen"],["PWW","Pollokshaws West"],["RMB","Roman Bridge"],["GRT","Grateley"],["AGT","Aldrington"],["CED","Cheddington"],["RVN","Ravensthorpe"],["KEN","Kendal"],["MAR","Margate"],["PSE","Pitsea"],["CTK","City Thameslink"],["BAT","Battle"],["HEV","Hever"],["WAS","Watton-at-Stone"],["CLY","Chinley"],["HES","Hessle"],["UPH","Upper Halliford"],["WNS","Winnersh"],["AON","Alton"],["LGK","Longbeck"],["SHC","Streethouse"],["EMS","Emsworth"],["SYH","Sydenham Hill"],["BAK","Battersea Park"],["GLQ","Glasgow Queen Street"],["BKJ","Beckenham Junction"],["UMB","Umberleigh"],["CMN","Carmarthen"],["SHH","Shirehampton"],["MAX","Maxwell Park"],["HGY","Harringay"],["AVF","Avoncliff"],["BYK","Bentley (South Yorkshire)"],["GER","Gerrards Cross"],["HLR","Hall Road"],["HNF","Hednesford"],["FRD","Frodsham"],["KNR","Kensal Rise"],["BCC","Beccles"],["HGN","Hough Green"],["BKW","Berkswell"],["EBR","Edenbridge"],["BKT","Blake Street"],["CEH","Coleshill Parkway"],["LEN","Lenham"],["BEC","Beckenham Hill"],["FNY","Finchley Road & Frognal"],["LTM","Lytham"],["BKJ","Beckenham Junction"],["KDG","Kidsgrove"],["IGD","Invergordon"],["CPH","Caerphilly"],["APS","Apsley"],["HTY","Hattersley"],["SAL","Salisbury"],["BNW","Bootle New Strand"],["SOB","Southbourne"],["BTH","Bath Spa"],["DFE","Dunfermline Town"],["SLS","Shettleston"],["ELY","Ely"],["BMF","Broomfleet"],["NVH","Newhaven Harbour"],["LCL","Lochailort"],["PMD","Pembroke Dock"],["WAR","Ware"],["BFD","Brentford"],["GLZ","Glazebrook"],["HSY","Horsley"],["SPI","Spital"],["SHZ","South Hylton (T & W Metro)"],["MOO","Muir of Ord"],["NHD","Nunhead"],["BKR","Blackridge"],["IRL","Irlam"],["NVN","Newhaven Town"],["WRN","West Runton"],["HDB","Haydon Bridge"],["EAD","Earlsfield"],["RDM","Riding Mill"],["WMR","Widney Manor"],["BPK","Brookmans Park"],["WLF","Whittlesford Parkway"],["GDN","Godstone"],["TFC","Telford Central"],["SHE","Sherborne"],["GNB","Gainsborough Central"],["BOT","Bootle Oriel Road"],["EGR","East Grinstead"],["LNK","Lanark"],["NEG","Newtongrange"],["SAL","Salisbury"],["CFR","Chandlers Ford"],["LGM","Langley Mill"],["GSD","Garsdale"],["LAG","Langwith-Whaley Thorns"],["BNL","Barnhill"],["IVR","Iver"],["CNY","Cantley"],["HGS","Hastings"],["BEY","Ben Rhydding"],["BMD","Brimsdown"],["ARB","Arbroath"],["BLN","Blundellsands & Crosby"],["MSS","Moses Gate"],["DST","Duke Street"],["HYW","Hinchley Wood"],["AYR","Ayr"],["SRO","Shireoaks"],["CAR","Carlisle"],["DSY","Daisy Hill"],["RGL","Rugeley Trent Valley"],["GFF","Gilfach Fargoed"],["WAF","Wallyford"],["INR","Inverurie"],["SBK","South Bank"],["ELO","Elton & Orston"],["SPB","Shepherds Bush"],["STE","Streatham"],["CYB","Cefn-y-Bedd"],["HDY","Headingley"],["HCT","Huncoat"],["DYC","Dyce"],["HYD","Heyford"],["PRH","Penrhyndeudraeth"],["SET","Settle"],["WFH","Watford High Street"],["DLR","Dalreoch"],["BKD","Blakedown"],["PTM","Porthmadog"],["ORP","Orpington"],["GBL","Gainsborough Lea Road"],["SCU","Scunthorpe"],["PTH","Perth"],["TAM","Tamworth"],["TRB","Treherbert"],["BXY","Bexley"],["TRY","Treorchy"],["HRS","Horsforth"],["SHV","Southsea Hoverport (Bus)"],["SUM","Summerston"],["WFJ","Watford Junction"],["FYS","Ferryside"],["NUM","Northumberland Park"],["SVL","Staveley"],["CYK","Clydebank"],["HDN","Harlesden"],["PLS","Pleasington"],["TLC","Tal-y-Cafn"],["WAM","Walmer"],["BMG","Barming"],["IFD","Ilford"],["GTA","Great Ayton"],["NBC","New Beckenham"],["LUD","Ludlow"],["FNR","Farningham Road"],["CFN","Clifton Down"],["HAC","Hackney Downs"],["PGM","Pengam"],["RLG","Rayleigh"],["BKG","Barking"],["BLM","Belmont"],["NTC","Newton St Cyres"],["RYE","Rye"],["DBG","Mottisfont & Dunbridge"],["NWI","Northwich"],["PSC","Prescot"],["DKD","Dunkeld & Birnam"],["AGL","Abergele & Pensarn"],["CRF","Carfin"],["SOM","South Milford"],["CRY","Crayford"],["LIU","Lille Europe"],["GLF","Glenfinnan"],["SWI","Swindon"],["SCR","St Columb Road"],["TEO","Theobalds Grove"],["BHM","Birmingham New Street"],["BML","Bramhall"],["WIJ","Willesden Junction"],["COS","Cosford"],["ACG","Acocks Green"],["DVP","Dover Priory"],["MOG","Moorgate"],["ROS","Rosyth"],["WAO","Walton (Merseyside)"],["GNH","Greenhithe for Bluewater"],["RWC","Rawcliffe"],["LES","Leigh-on-Sea"],["HLI","Healing"],["WEY","Weymouth"],["AFK","Ashford International"],["HON","Honiton"],["RCA","Risca & Pontymister"],["BIY","Bingley"],["FOR","Forres"],["KLM","Kilmaurs"],["BOR","Bodorgan"],["BSS","Barassie"],["PUR","Purley"],["MAC","Macclesfield"],["RBR","Robertsbridge"],["HHE","Haywards Heath"],["ALN","Althorne"],["GBK","Greenbank"],["BMV","Bromsgrove"],["GTO","Gorton"],["PMB","Pembroke"],["SKE","Skewen"],["CAU","Causeland"],["PEN","Penarth"],["UPT","Upton"],["BMN","Bromley North"],["ZTH","Tower Hill Underground"],["KYL","Kyle of Lochalsh"],["TTN","Totton"],["HWF","Heathrow Airport T4 (Bus)"],["BMS","Bromley South"],["ASS","Alness"],["SSS","Sheerness-on-Sea"],["CAG","Carrbridge"],["GTH","Garth (Powys)"],["LOF","London Fields"],["BIS","Bishops Stortford"],["BRW","Brunswick"],["CHH","Christs Hospital"],["HHD","Holyhead"],["MFL","Mount Florida"],["DAK","Dalmarnock"],["WSW","Wandsworth Common"],["MDN","Maiden Newton"],["DFL","Dunfermline Queen Margaret"],["IRV","Irvine"],["WHN","Whiston"],["SBS","St Bees"],["PKG","Penkridge"],["SOU","Southampton Central"],["COY","Coryton"],["GGJ","Georgemas Junction"],["SLR","Sleaford"],["DKT","Dorking West"],["SQU","Squires Gate"],["CMD","Camden Road"],["BSO","Basildon"],["CBR","Cooksbridge"],["BYM","Burnley Manchester Road"],["MLF","Milford (Surrey)"],["RYR","Ryde St Johns Road"],["TEY","Teynham"],["TOT","Totnes"],["FRF","Fairfield"],["PUO","Purley Oaks"],["GNF","Greenfield"],["GRY","Grays"],["BGH","Brighouse"],["FKG","Falkirk Grahamston"],["HKH","Hawkhead"],["PYP","Pont-y-Pant"],["FKK","Falkirk High"],["SOV","Southend Victoria"],["MEY","Merryton"]]);var Ge=function(e){const t=e.toUpperCase(),n=Pe.get(t);return console.log(n),n},Fe=function(e){const t=[],n=e.length<=3,r=e.length>=3,o=new RegExp(`(${e})`,"gi");return Pe.forEach((e,a)=>{let l;n&&o.test(a)&&(l=[a,e]),void 0===l&&r&&o.test(e)&&(l=[a,e]),"object"==typeof l&&t.push(l)}),t.slice(0,5)};let Ie={};Ie=function(){try{return!!localStorage}catch(e){return!1}}()?{save:function(e,t){localStorage[e]=t},load:function(e){return localStorage[e]},exists:function(e){return!(void 0===localStorage[e])}}:{save:function(e,t){document.cookie=`${e}=${encodeURIComponent(t)}`},load:function(e){var t=`; ${document.cookie};`,n=t.indexOf(`; ${e}=`);if(n<0)return"";n=n+e.length+3;var r=t.indexOf(";",n+1);return decodeURIComponent(t.substring(n,r))}};var Oe={partOfDay:function(e,t){console.log(new Date),null==e&&(e=(new Date).getHours().toString()),void 0===t&&(t=!1);const n=e.substring(0,2);let r="";return console.log("Hours",n),r=n>=0&&n<4?"Late Night":n>=4&&n<7?"Early Morning":n>=7&&n<12?"Morning":n>=12&&n<17?"Afternoon":n<21?"Evening":"Night",t&&(r="night"===r?"tonight":"this "+r),console.log("partOfDay",r),r},toHour:function(e=0){return 36e5-(new Date).getTime()%36e5+e},hourFloor:function(){const e=new Date;return parseInt(36e5*~~(e.getTime()/36e5),10).toString(32)},distance:function(e,t,n,r){const o=.017453292519943295,a=Math.cos,l=.5-a((n-e)*o)/2+a(e*o)*a(n*o)*(1-a((r-t)*o))/2;return 12742*Math.asin(Math.sqrt(l))},maybePluralize:(e,t,n="s")=>`${e} ${t}${1!==e?n:""}`,minuteFloor:function(){const e=new Date;return parseInt(6e4*~~(e.getTime()/6e4),10).toString(32)},debounce:function(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}},throttle:function(e,t){var n=!1;return function(){n||(e.apply(null,arguments),n=!0,setTimeout((function(){n=!1}),t))}},once:function(e){var t,n=!1;return function(){return n||(t=e.apply(this,arguments),n=!0),t}},isEmpty:function(e){for(const t in e)if(e.hasOwnProperty(t))return!1;return!0},LocalStorage:Ie},Ke=Oe.minuteFloor,xe=Oe.debounce,Ye=Oe.LocalStorage,_e=function e(t){function n(e){return function(t,n){return a(t,Object.assign({method:e},n))}}function r(e){return function(t,n,r){return a(t,Object.assign({method:e,data:n},r))}}function o(e,t,n){if(Array.isArray(e))return e.concat(t);if(t&&"object"==typeof t){var r,a={};if(e)for(r in e)a[n?r.toLowerCase():r]=e[r];for(r in t){var l=n?r.toLowerCase():r;"headers"===l&&(n=!0),a[l]=r in a?o(a[l],t[r],n):t[r]}return a}return t}function a(e,n){"string"!=typeof e&&(e=(n=e).url);var r=o(t,n||{}),a=r.data;if(r.transformRequest)for(var l=0;l=43)}})).catch((function(){return!1}))}(e).then((function(e){return d=e}))}function g(e){var t=h[e.name],n={};n.promise=new l((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function y(e){var t=h[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function m(e,t){var n=h[e.name].deferredOperations.pop();if(n)return n.reject(t),n.promise}function p(e,t){return new l((function(n,r){if(h[e.name]=h[e.name]||{forages:[],db:null,dbReady:null,deferredOperations:[]},e.db){if(!t)return n(e.db);g(e),e.db.close()}var a=[e.name];t&&a.push(e.version);var l=o.open.apply(o,a);t&&(l.onupgradeneeded=function(t){var n=l.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore("local-forage-detect-blob-support")}catch(n){if("ConstraintError"!==n.name)throw n;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),l.onerror=function(e){e.preventDefault(),r(l.error)},l.onsuccess=function(){n(l.result),y(e)}}))}function B(e){return p(e,!1)}function C(e){return p(e,!0)}function w(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function b(e){return a([function(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),o=0;o0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return l.resolve().then((function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),C(e)})).then((function(){return function(e){g(e);for(var t=h[e.name],n=t.forages,r=0;r>4,u[s++]=(15&r)<<4|o>>2,u[s++]=(3&o)<<6|63&a;return c}function D(e){var t,n=new Uint8Array(e),r="";for(t=0;t>2],r+=R[(3&n[t])<<4|n[t+1]>>4],r+=R[(15&n[t+1])<<2|n[t+2]>>6],r+=R[63&n[t+2]];return n.length%3==2?r=r.substring(0,r.length-1)+"=":n.length%3==1&&(r=r.substring(0,r.length-2)+"=="),r}var E={serialize:function(e,t){var n="";if(e&&(n=M.call(e)),e&&("[object ArrayBuffer]"===n||e.buffer&&"[object ArrayBuffer]"===M.call(e.buffer))){var r,o="__lfsc__:";e instanceof ArrayBuffer?(r=e,o+="arbf"):(r=e.buffer,"[object Int8Array]"===n?o+="si08":"[object Uint8Array]"===n?o+="ui08":"[object Uint8ClampedArray]"===n?o+="uic8":"[object Int16Array]"===n?o+="si16":"[object Uint16Array]"===n?o+="ur16":"[object Int32Array]"===n?o+="si32":"[object Uint32Array]"===n?o+="ui32":"[object Float32Array]"===n?o+="fl32":"[object Float64Array]"===n?o+="fl64":t(new Error("Failed to get type for BinaryArray"))),t(o+D(r))}else if("[object Blob]"===n){var a=new FileReader;a.onload=function(){var n="~~local_forage_type~"+e.type+"~"+D(this.result);t("__lfsc__:blob"+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error("Couldn't convert value into a JSON string: ",e),t(null,n)}},deserialize:function(e){if("__lfsc__:"!==e.substring(0,T))return JSON.parse(e);var t,n=e.substring(k),r=e.substring(T,k);if("blob"===r&&W.test(n)){var o=n.match(W);t=o[1],n=n.substring(o[0].length)}var l=A(n);switch(r){case"arbf":return l;case"blob":return a([l],{type:t});case"si08":return new Int8Array(l);case"ui08":return new Uint8Array(l);case"uic8":return new Uint8ClampedArray(l);case"si16":return new Int16Array(l);case"ur16":return new Uint16Array(l);case"si32":return new Int32Array(l);case"ui32":return new Uint32Array(l);case"fl32":return new Float32Array(l);case"fl64":return new Float64Array(l);default:throw new Error("Unkown type: "+r)}},stringToBuffer:A,bufferToString:D};function P(e,t,n,r){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,r)}function G(e,t,n,r,o,a){e.executeSql(n,r,o,(function(e,l){l.code===l.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],(function(e,i){i.rows.length?a(e,l):P(e,t,(function(){e.executeSql(n,r,o,a)}),a)}),a):a(e,l)}),a)}function F(e,t,n,r){var o=this;e=c(e);var a=new l((function(a,l){o.ready().then((function(){void 0===t&&(t=null);var i=t,s=o._dbInfo;s.serializer.serialize(t,(function(t,c){c?l(c):s.db.transaction((function(n){G(n,s,"INSERT OR REPLACE INTO "+s.storeName+" (key, value) VALUES (?, ?)",[e,t],(function(){a(i)}),(function(e,t){l(t)}))}),(function(t){if(t.code===t.QUOTA_ERR){if(r>0)return void a(F.apply(o,[e,i,n,r-1]));l(t)}}))}))})).catch(l)}));return i(a,n),a}function I(e){return new l((function(t,n){e.transaction((function(r){r.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],(function(n,r){for(var o=[],a=0;a0}var Y={_driver:"localStorageWrapper",_initStorage:function(e){var t={};if(e)for(var n in e)t[n]=e[n];return t.keyPrefix=K(e,this._defaultConfig),x()?(this._dbInfo=t,t.serializer=E,l.resolve()):l.reject()},_support:function(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}(),iterate:function(e,t){var n=this,r=n.ready().then((function(){for(var t=n._dbInfo,r=t.keyPrefix,o=r.length,a=localStorage.length,l=1,i=0;i=0;n--){var r=localStorage.key(n);0===r.indexOf(e)&&localStorage.removeItem(r)}}));return i(n,e),n},length:function(e){var t=this.keys().then((function(e){return e.length}));return i(t,e),t},key:function(e,t){var n=this,r=n.ready().then((function(){var t,r=n._dbInfo;try{t=localStorage.key(e)}catch(e){t=null}return t&&(t=t.substring(r.keyPrefix.length)),t}));return i(r,t),r},keys:function(e){var t=this,n=t.ready().then((function(){for(var e=t._dbInfo,n=localStorage.length,r=[],o=0;o=0;t--){var n=localStorage.key(t);0===n.indexOf(e)&&localStorage.removeItem(n)}})):l.reject("Invalid arguments"),t),r}},_=function(e,t){for(var n,r,o=e.length,a=0;ae+1)},async saveRoute(e){const t={...e};t.id=s(this.routeIndex),this.routes.update(e=>[...e,t]),this.incrementRouteIndex()},deleteRoute(e){const t=s(this.routes).slice(0,e),n=s(this.routes).slice(e+1);this.routes.set([...t,...n])},async getTweets(){const e=s(Qe.twitterFollowingList).map(e=>e[1].id),t={method:"post",url:je.concat("/twitter"),data:{list:e}};await _e(t).then(e=>{const t=JSON.parse(e.data),n=t.map(e=>e.id),r=t.map(e=>[e.id,e]);this.tweetList.set(n),this.tweets.set(new Map(r))})},getTweetByID(e){return s(this.tweets).get(e)},getTwitterFollowing(){return s(this.twitterFollowing)},saveTwitterFollowing(e){this.twitterFollowing.set(e)},getBaseUrl:()=>je};function qe(t){let n,r,o,a,l,i,s,c,u,d,h,f,S;return{c(){n=B("div"),r=B("div"),o=B("div"),a=C(t[0]),l=w(),i=B("div"),s=C(t[1]),c=w(),u=B("div"),d=B("span"),h=C(t[2]),H(r,"class","entry ml-1 svelte-1hucmyw"),H(d,"class",f="btn "+t[3]+" svelte-1hucmyw"),H(u,"class","entry text-right svelte-1hucmyw"),H(n,"class","columns TRcard svelte-1hucmyw")},m(e,f,m){y(e,n,f),g(n,r),g(r,o),g(o,a),g(r,l),g(r,i),g(i,s),g(n,c),g(n,u),g(u,d),g(d,h),m&&S(),S=L(d,"click",t[4])},p(e,[t]){1&t&&v(a,e[0]),2&t&&v(s,e[1]),4&t&&v(h,e[2]),8&t&&f!==(f="btn "+e[3]+" svelte-1hucmyw")&&H(d,"class",f)},i:e,o:e,d(e){e&&m(n),S()}}}function Ze(e,t,n){let r,o,a,l,i,s,{destStation:c}=t,{startStation:u}=t,d=Qe.getBaseUrl(),h={eta:"OFF",sta:"OFF"},f=0,S=0;async function g(){console.log(`Update: ${u} / ${c}`);const e=new Date,t=e.getHours()<6?36e5:95e3,r=t-e.getTime()%t;S=e.getTime()+r,await async function(){const e=Ke(),t=a.concat("&mh="+e);_e.get(t).then(e=>{n(8,h={...JSON.parse(e.data)})})}(),clearTimeout(f),f=0,f=setTimeout(g,r+10)}return P(async()=>{if(Ye.exists(`${u}${c}`)){const e=JSON.parse(Ye.load(`${u}${c}`));n(8,h={...h,...e.trainData}),S=e.due,n(0,r=e.startStationName),n(1,o=e.destStationName),a=e.url}else n(0,r=Ge(u)),n(1,o=Ge(c)),a=`${d}/getnexttraintimes?from=${u}&to=${c}`;const e=(new Date).getTime();e>S?g():(f=0,f=setTimeout(g,S-e))}),G(async()=>{clearInterval(f);const e={due:S,trainData:h,startStationName:r,destStationName:o,url:a};Ye.save(`${u}${c}`,JSON.stringify(e))}),e.$set=e=>{"destStation"in e&&n(5,c=e.destStation),"startStation"in e&&n(6,u=e.startStation)},e.$$.update=()=>{352&e.$$.dirty&&(n(3,i="On time"===h.eta?"ontime":"delayed"),n(2,l="On time"===h.eta?h.sta:h.eta),s=`#/timetable/${u}/${c}`)},[r,o,l,i,function(){ve(s)},c,u]}Ve.getItem("twitterFollowing").then(e=>{null!==e?Qe.twitterFollowing.set(e):(Qe.twitterFollowing.set(Xe),Ve.setItem("twitterFollowing",Xe).catch(e=>{console.error(e)}))}).catch(e=>{console.error(e)}),Ve.getItem("favourites").then(e=>{null!==e&&Qe.favourites.set(e)}).catch(e=>{console.error(e)}),Ve.getItem("routes").then(e=>{null!==e&&Qe.routes.set(e)}).catch(e=>{console.error(e)}),Ve.getItem("routeIndex").then(e=>{null!==e&&Qe.routeIndex.set(e)}).catch(e=>{console.error(e)}),Qe.favourites.subscribe(e=>{console.log(">> Store.state.favourites",e)}),Qe.routes.subscribe(e=>{Je&&Ve.setItem("routes",e).catch(e=>{console.error(e)})}),Qe.routeIndex.subscribe(e=>{Je&&Ve.setItem("routeIndex",e).catch(e=>{console.error(e)})}),Qe.twitterFollowing.subscribe(e=>{Je&&Ve.setItem("twitterFollowing",e).catch(e=>{console.error(e)});const t=Object.entries(s(Qe.twitterFollowing)).filter(e=>{if(e[1].follow)return e});Qe.twitterFollowingList.set(t)}),setTimeout(()=>{Je=!0},250);class ze extends ge{constructor(e){super(),Se(this,e,Ze,qe,l,{destStation:5,startStation:6})}}function et(e,t,n){const r=e.slice();return r[1]=t[n],r}function tt(e){let t;const n=new ze({props:{destStation:e[1].destStation.id,startStation:e[1].startStation.id}});return{c(){ue(n.$$.fragment)},m(e,r){de(n,e,r),t=!0},p(e,t){const r={};1&t&&(r.destStation=e[1].destStation.id),1&t&&(r.startStation=e[1].startStation.id),n.$set(r)},i(e){t||(re(n.$$.fragment,e),t=!0)},o(e){oe(n.$$.fragment,e),t=!1},d(e){he(n,e)}}}function nt(e){let t,n,r=e[0],o=[];for(let t=0;toe(o[e],1,1,()=>{o[e]=null});return{c(){t=B("div");for(let e=0;e{n(0,r=e)}),[r]}var ot={reduceOtherDetails(e){const t=[];let n=0;const r=/<\s*[aA].*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?[aA]\s*?>/;if("object"==typeof e.nrccMessages&&null!==e.nrccMessages)for(const o of e.nrccMessages){const e={index:0,msg:"",link:null,linkText:""};let a=o.value.replace(' ">','">').replace("","").replace("/gi,"");const l=r.exec(o.value);a=a.replace(r,""),e.index=n,e.msg=a,null!==l&&(e.link=l[1],e.linkText=l[2]),t.push(e),n++}return{nrMessages:t,nrMessagesExist:t.length>0}},reduceTrainTimetable(e){const t=[];let n="";const r=["💠","🚉"];if("object"==typeof e&&null!==e){if(console.log(">> reduceTrainService"),"object"==typeof e.trainServices&&null!==e.trainServices)for(const o of e.trainServices){const e=o.destination[0],a=null!==e.via?e.via:"",l=null!==o.platform?o.platform:""+r[0],i=null!==o.sta?o.sta:"D "+o.std,s=null===o.sta,c=null!==o.eta?o.eta:o.etd,u=o.length,d=u>0?` (${u} 🚃) `:"",h="on time"===c.toLowerCase()?"ontime":"delayed",f=null!==o.delayReason?o.delayReason:"",S=null!==o.cancelReason?o.cancelReason:"No reason given 🤷",g=o.serviceIdUrlSafe;t.push({location:e.locationName,time:i,status:c,platform:l,cancel:S,type:"train",delay:f,carriageCount:d,via:a,statusMode:h,isCancelled:o.isCancelled,isDeparture:s,serviceIdUrlSafe:g}),n=o.isCancelled?`${n}${e.locationName} ${a}${i}\n ❌ ${S}`:`${n}${e.locationName}${d}${a}\n ${i}\n ${c}\n ${l}\n ${f}`}if("object"==typeof e.busServices&&null!==e.busServices)for(const n of e.busServices){const e=n.destination[0],r=null!==e.via?e.via:"",o=null!==n.platform?n.platform:"",a=null!==n.sta?n.sta:"D "+n.std,l=null!==n.eta?n.eta:n.etd;t.push({location:e.locationName,time:a,status:l,platform:o,cancel:n.cancelReason,type:"bus",via:r})}}return console.log(t),t},reduceTrainService(e){let t=[];const n=e.sta||e.std,r=e.eta||e.etd,o={locationName:e.locationName,crs:e.crs,st:e.sta,et:e.eta,at:e.ata,isCancelled:e.isCancelled,length:e.length,detachFront:e.detachFront,adhocAlerts:e.adhocAlerts};return null!==e.previousCallingPoints&&(t=t.concat(e.previousCallingPoints[0].callingPoint)),t.push(o),null!==e.subsequentCallingPoints&&(t=t.concat(e.subsequentCallingPoints[0].callingPoint)),t=t.map(e=>(e.et=null===e.et?"":e.et,e.at=null===e.at?"":e.at,e.etMode="on time"===e.et.toLowerCase()?"ontime":"delayed",e.atMode="on time"===e.at.toLowerCase()?"ontime":"delayed",e.delayReason=null!==e.delayReason?e.delayReason:"",e.cancelReason=null!==e.cancelReason?e.cancelReason:"No reason given 🤷",e.classCancel=e.isCancelled?"cancelledRow":"",null!==e.st||null!==e.et&&""!==e.et||(e.st="D "+n,e.et=r),e)),t}};function at(e,t,n){const r=e.slice();return r[5]=t[n],r}function lt(e){let t,n=e[0],r=[];for(let t=0;t0&<(t);return{c(){n=B("section"),r=B("div"),r.innerHTML='
Station
\n
Due
\n
Estimated
\n
Arrived
',o=w(),a&&a.c(),H(r,"class","grid card text-subhead")},m(e,t){y(e,n,t),g(n,r),g(n,o),a&&a.m(n,null)},p(e,[t]){e[0].length>0?a?a.p(e,t):(a=lt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&m(n),a&&a.d()}}}function ct(e,t,n){let r,{serviceId:o}=t,a=[],l=Qe.getBaseUrl();async function i(){{const e="/getservice?serviceid="+o,t=l.concat(e);await _e.get(t).then(e=>{const t=JSON.parse(e.data);n(0,a=ot.reduceTrainService(t))})}}return P(async()=>{await i(),r=setInterval(async()=>{console.log("Service update"),await i()},12e4)}),G(async()=>{clearInterval(r)}),e.$set=e=>{"serviceId"in e&&n(1,o=e.serviceId)},[a,o]}class ut extends ge{constructor(e){super(),Se(this,e,ct,st,l,{serviceId:1})}}function dt(t){let n,r;const o=new ut({props:{serviceId:t[0]}});return{c(){n=B("div"),ue(o.$$.fragment),H(n,"class","container")},m(e,t){y(e,n,t),de(o,n,null),r=!0},p:e,i(e){r||(re(o.$$.fragment,e),r=!0)},o(e){oe(o.$$.fragment,e),r=!1},d(e){e&&m(n),he(o)}}}function ht(e,t,n){let{params:r={}}=t,o=r.serviceId;return e.$set=e=>{"params"in e&&n(1,r=e.params)},[o,r]}function ft(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r}function St(e,t,n){const r=e.slice();return r[7]=t[n],r}function gt(e){let t,n,r=e[1].nrMessages,o=[];for(let t=0;te[7].serviceIdUrlSafe;for(let t=0;t{N||(N=le(n,De,{},!0)),N.run(1)}),R=!0)},o(e){e&&(N||(N=le(n,De,{},!1)),N.run(0)),R=!1},d(e){e&&m(n),A&&A.d(),P.d(),e&&N&&N.end(),W()}}}function Lt(e){let t,n,r,o,a=!0===e[1].nrMessagesExist&>(e),l=e[0].length>0&&pt(e);return{c(){t=B("div"),n=B("section"),a&&a.c(),r=w(),l&&l.c()},m(e,i){y(e,t,i),g(t,n),a&&a.m(n,null),g(n,r),l&&l.m(n,null),o=!0},p(e,[t]){!0===e[1].nrMessagesExist?a?a.p(e,t):(a=gt(e),a.c(),a.m(n,r)):a&&(a.d(1),a=null),e[0].length>0?l?(l.p(e,t),re(l,1)):(l=pt(e),l.c(),re(l,1),l.m(n,null)):l&&(te(),oe(l,1,1,()=>{l=null}),ne())},i(e){o||(re(l),o=!0)},o(e){oe(l),o=!1},d(e){e&&m(t),a&&a.d(),l&&l.d()}}}function Ht(e){ve("/service/"+e)}function vt(e,t,n){let r,{fromStation:o}=t,{destStation:a}=t,l=[],i={},s=Qe.getBaseUrl();async function c(){{const e=`/gettrains?from=${o}&to=${a}`,t=s.concat(e);await _e.get(t).then(e=>{const t=JSON.parse(e.data);n(0,l=ot.reduceTrainTimetable(t)),n(1,i=ot.reduceOtherDetails(t))})}}return P(async()=>{await c(),r=setInterval(async()=>{console.log("Timetable update"),await c()},12e4)}),G(async()=>{clearInterval(r)}),e.$set=e=>{"fromStation"in e&&n(2,o=e.fromStation),"destStation"in e&&n(3,a=e.destStation)},[l,i,o,a]}class Nt extends ge{constructor(e){super(),Se(this,e,vt,Lt,l,{fromStation:2,destStation:3})}}function Rt(e){let t,n,r,o,a,l,i,s;const c=new Nt({props:{fromStation:e[2],destStation:e[3]}});return{c(){t=B("div"),n=B("div"),r=B("div"),o=C(e[0]),a=C(" TO "),l=C(e[1]),i=w(),ue(c.$$.fragment),H(r,"class","text-center text-dark text-subhead"),H(t,"class","container")},m(e,u){y(e,t,u),g(t,n),g(n,r),g(r,o),g(r,a),g(r,l),g(n,i),de(c,n,null),s=!0},p(e,[t]){(!s||1&t)&&v(o,e[0]),(!s||2&t)&&v(l,e[1])},i(e){s||(re(c.$$.fragment,e),s=!0)},o(e){oe(c.$$.fragment,e),s=!1},d(e){e&&m(t),he(c)}}}function Wt(e,t,n){let r,o,{params:a={}}=t,l=a.fromStation,i=a.destStation;return P(async()=>{n(0,r=Ge(l)),n(1,o=Ge(i))}),e.$set=e=>{"params"in e&&n(4,a=e.params)},[r,o,l,i,a]}function Tt(e,t,n){const r=e.slice();return r[9]=t[n],r[11]=n,r}function kt(e){let t,n=e[4],r=[];for(let t=0;t0&&kt(t);return{c(){n=B("span"),r=B("label"),l=C(t[1]),i=w(),s=B("input"),c=w(),d&&d.c(),H(r,"for",t[0]),H(s,"autocomplete","off"),H(s,"name",t[0]),H(n,"class","mui-dropdown--right")},m(e,h,f){y(e,n,h),g(n,r),g(r,l),g(n,i),g(n,s),N(s,t[2]),g(n,c),d&&d.m(n,null),f&&o(u),u=[L(s,"keyup",(function(){a(t[3])&&t[3].apply(this,arguments)})),L(s,"input",t[8])]},p(e,[o]){t=e,2&o&&v(l,t[1]),1&o&&H(r,"for",t[0]),1&o&&H(s,"name",t[0]),4&o&&s.value!==t[2]&&N(s,t[2]),t[4].length>0?d?d.p(t,o):(d=kt(t),d.c(),d.m(n,null)):d&&(d.d(1),d=null)},i:e,o:e,d(e){e&&m(n),d&&d.d(),o(u)}}}function Dt(e,t,n){let r,{returnValue:o=""}=t,a="",{name:l}=t,{label:i}=t,s=[];function c(){n(6,o=""),a.length>=2?n(4,s=Fe(a)):n(4,s=[])}return P(async()=>{n(3,r=xe(c,750))}),e.$set=e=>{"returnValue"in e&&n(6,o=e.returnValue),"name"in e&&n(0,l=e.name),"label"in e&&n(1,i=e.label)},e.$$.update=()=>{64&e.$$.dirty&&""===o&&n(2,a="")},[l,i,a,r,s,function(e){let[t,r]=e.target.dataset.content.split(",");n(6,o={id:t,name:r}),n(2,a=r),n(4,s=[])},o,c,function(){a=this.value,n(2,a),n(6,o)}]}class Et extends ge{constructor(e){super(),Se(this,e,Dt,At,l,{returnValue:6,name:0,label:1})}}function Pt(t){let n,r,o;return{c(){n=B("div"),r=B("button"),r.textContent="Add a new route",H(r,"class","btn btn-primary"),H(r,"id","new"),H(r,"type","button")},m(e,a,l){y(e,n,a),g(n,r),l&&o(),o=L(r,"click",t[6])},p:e,i:e,o:e,d(e){e&&m(n),o()}}}function Gt(e){let t,n,r,a,l,i,s,c,u,d,h,f,S,p,b,v,N,R,W,T,k;function M(t){e[9].call(null,t)}let A={label:"Departure Station",name:"startStation"};void 0!==e[1]&&(A.returnValue=e[1]);const D=new Et({props:A});function E(t){e[10].call(null,t)}O.push(()=>ce(D,"returnValue",M));let P={label:"Destination Station",name:"destStation"};void 0!==e[2]&&(P.returnValue=e[2]);const G=new Et({props:P});return O.push(()=>ce(G,"returnValue",E)),{c(){t=B("div"),n=B("div"),r=B("div"),r.textContent="New Route",a=w(),l=B("div"),i=B("div"),ue(D.$$.fragment),c=w(),u=B("div"),u.innerHTML='',d=w(),h=B("div"),ue(G.$$.fragment),S=w(),p=B("div"),b=B("button"),b.textContent="Close",v=w(),N=B("button"),R=C("Save"),H(r,"class","text-subhead"),H(i,"class",""),H(u,"class","text-center"),H(h,"class",""),H(l,"class","grid-3"),H(b,"class","btn btn-sm"),H(b,"type","button"),H(N,"class","btn btn-primary btn-sm"),H(N,"id","save"),H(N,"type","button"),N.disabled=W=!e[3],H(p,"class","my text-right"),H(n,"class","mui-row card"),H(t,"class","container ")},m(s,f,m){y(s,t,f),g(t,n),g(n,r),g(n,a),g(n,l),g(l,i),de(D,i,null),g(l,c),g(l,u),g(l,d),g(l,h),de(G,h,null),g(n,S),g(n,p),g(p,b),g(p,v),g(p,N),g(N,R),T=!0,m&&o(k),k=[L(b,"click",e[4]),L(N,"click",e[5])]},p(e,t){const n={};!s&&2&t&&(s=!0,n.returnValue=e[1],U(()=>s=!1)),D.$set(n);const r={};!f&&4&t&&(f=!0,r.returnValue=e[2],U(()=>f=!1)),G.$set(r),(!T||8&t&&W!==(W=!e[3]))&&(N.disabled=W)},i(e){T||(re(D.$$.fragment,e),re(G.$$.fragment,e),T=!0)},o(e){oe(D.$$.fragment,e),oe(G.$$.fragment,e),T=!1},d(e){e&&m(t),he(D),he(G),o(k)}}}function Ft(e){let t,n,r,o;const a=[Gt,Pt],l=[];function i(e,t){return e[0]?0:1}return t=i(e),n=l[t]=a[t](e),{c(){n.c(),r=b()},m(e,n){l[t].m(e,n),y(e,r,n),o=!0},p(e,[o]){let s=t;t=i(e),t===s?l[t].p(e,o):(te(),oe(l[s],1,1,()=>{l[s]=null}),ne(),n=l[t],n||(n=l[t]=a[t](e),n.c()),re(n,1),n.m(r.parentNode,r))},i(e){o||(re(n),o=!0)},o(e){oe(n),o=!1},d(e){l[t].d(e),e&&m(r)}}}function It(e,t,n){let r,o,a,l=!1,i=!("string"==typeof r);function s(){n(1,r=""),n(2,o=""),n(0,l=!1)}return e.$$.update=()=>{6&e.$$.dirty&&(console.log("typeof startStation",typeof r),n(3,a="object"==typeof r&&"object"==typeof o))},[l,r,o,a,s,async function(){await Qe.saveRoute({startStation:r,destStation:o}),s()},function(){n(0,l=!0)},void 0,i,function(e){r=e,n(1,r)},function(e){o=e,n(2,o)}]}class Ot extends ge{constructor(e){super(),Se(this,e,It,Ft,l,{})}}function Kt(t){let n,r,a,l,i,s,c,u,d;return{c(){n=B("div"),r=B("button"),r.textContent="Delete",a=w(),l=B("button"),l.textContent="Edit",i=w(),s=B("button"),s.textContent="Close",H(r,"class","btn btn-danger btn-sm"),H(r,"id","delete"),H(r,"type","button"),H(l,"class","btn btn-primary btn-sm"),H(l,"id","save"),H(l,"type","button"),H(s,"class","btn btn-sm"),H(s,"type","button"),H(n,"class","my grid-3 svelte-2wxoro")},m(e,c,h){y(e,n,c),g(n,r),g(n,a),g(n,l),g(n,i),g(n,s),u=!0,h&&o(d),d=[L(r,"click",t[2]),L(l,"click",Yt),L(s,"click",t[3])]},p:e,i(e){u||($(()=>{c||(c=le(n,Ee,{},!0)),c.run(1)}),u=!0)},o(e){c||(c=le(n,Ee,{},!1)),c.run(0),u=!1},d(e){e&&m(n),e&&c&&c.end(),o(d)}}}function xt(n){let r,l,i,s,c,d,h,f,p,b,N,R,W,T,k,D,E=n[0].startStation.name+"",P=n[0].destStation.name+"",G=n[1]&&Kt(n);return{c(){r=B("div"),l=B("div"),i=B("div"),s=C(E),c=w(),d=B("div"),d.innerHTML='',h=w(),f=B("div"),p=C(P),b=w(),N=B("div"),R=B("button"),R.innerHTML='',W=w(),G&&G.c(),H(i,"class","col-5"),H(d,"class","col-1"),H(f,"class","col-5"),H(R,"class","btn btn-sm"),H(N,"class","col-1"),H(l,"class","grid card ")},m(e,t,o){y(e,r,t),g(r,l),g(l,i),g(i,s),g(l,c),g(l,d),g(l,h),g(l,f),g(f,p),g(l,b),g(l,N),g(N,R),g(r,W),G&&G.m(r,null),k=!0,o&&D(),D=L(R,"click",n[5])},p(e,[t]){(!k||1&t)&&E!==(E=e[0].startStation.name+"")&&v(s,E),(!k||1&t)&&P!==(P=e[0].destStation.name+"")&&v(p,P),e[1]?G?(G.p(e,t),re(G,1)):(G=Kt(e),G.c(),re(G,1),G.m(r,null)):G&&(te(),oe(G,1,1,()=>{G=null}),ne())},i(e){k||(re(G),T&&T.end(1),k=!0)},o(n){oe(G),n&&(T=function(n,r,l){let i,s=r(n,l),c=!0;const d=ee;function h(){const{delay:r=0,duration:a=300,easing:l=t,tick:h=e,css:f}=s||ae;f&&(i=M(n,1,0,a,r,l,f));const g=u()+r,y=g+a;$(()=>Z(n,!1,"start")),S(e=>{if(c){if(e>=y)return h(0,1),Z(n,!1,"end"),--d.r||o(d.c),!1;if(e>=g){const t=l((e-g)/a);h(1-t,t)}}return c})}return d.r+=1,a(s)?q().then(()=>{s=s(),h()}):h(),{end(e){e&&s.tick&&s.tick(1,0),c&&(i&&A(n,i),c=!1)}}}(r,Ee,{})),k=!1},d(e){e&&m(r),G&&G.d(),e&&T&&T.end(),D()}}}function Yt(){}function _t(e,t,n){let{item:r}=t,{id:o}=t,a=!1;return e.$set=e=>{"item"in e&&n(0,r=e.item),"id"in e&&n(4,o=e.id)},[r,a,function(){console.log("delete: "+o),n(1,a=!1),Qe.deleteRoute(o)},function(){n(1,a=!1)},o,()=>n(1,a=!a)]}class $t extends ge{constructor(e){super(),Se(this,e,_t,xt,l,{item:0,id:4})}}function Ut(e,t,n){const r=e.slice();return r[1]=t[n],r[3]=n,r}function Vt(e,t){let n,r;const o=new $t({props:{item:t[1],id:t[3]}});return{key:e,first:null,c(){n=b(),ue(o.$$.fragment),this.first=n},m(e,t){y(e,n,t),de(o,e,t),r=!0},p(e,t){const n={};1&t&&(n.item=e[1]),1&t&&(n.id=e[3]),o.$set(n)},i(e){r||(re(o.$$.fragment,e),r=!0)},o(e){oe(o.$$.fragment,e),r=!1},d(e){e&&m(n),he(o,e)}}}function jt(e){let t,n,r=[],o=new Map,a=e[0];const l=e=>e[1].id;for(let t=0;t{n(0,r=e)}),[r]}class Xt extends ge{constructor(e){super(),Se(this,e,Jt,jt,l,{})}}function Qt(e){let t,n,r,a,l,i,s,c,u,d,h,f,S,p,b,v,N,R,W,T,k,M,A,D,E,P,G,F,I,O,K,x,Y,_,$,U,V,j,J,X,Q,q,Z,z,ee,te,ne,re,oe,ae,le,ie,se,ce,ue,de,he,fe,Se,ge,ye,me,pe,Be,Ce,we,be,Le,He,ve,Ne,Re,We,Te,ke,Me,Ae,De,Ee,Pe,Ge,Fe,Ie,Oe,Ke,xe,Ye,_e,$e,Ue,Ve,je,Je,Xe,Qe,qe,Ze,ze,et,tt,nt,rt,ot,at,lt,it,st,ct,ut,dt,ht,ft,St,gt,yt,mt,pt,Bt,Ct,wt,bt,Lt,Ht,vt,Nt,Rt,Wt,Tt,kt,Mt,At,Dt,Et,Pt,Gt,Ft;return{c(){t=B("div"),n=B("div"),r=B("label"),a=B("input"),l=C("\n @nationalrailenq"),i=w(),s=B("div"),c=B("label"),u=B("input"),d=C("\n @networkrail"),h=w(),f=B("div"),S=B("label"),p=B("input"),b=C("\n @NetworkRailSCOT"),v=w(),N=B("div"),R=B("label"),W=B("input"),T=C("\n @AvantiWestCoast"),k=w(),M=B("div"),A=B("label"),D=B("input"),E=C("\n @CalSleeper"),P=w(),G=B("div"),F=B("label"),I=B("input"),O=C("\n @CrossCountryUK"),K=w(),x=B("div"),Y=B("label"),_=B("input"),$=C("\n @Eurostar"),U=w(),V=B("div"),j=B("label"),J=B("input"),X=C("\n @EurostarUK"),Q=w(),q=B("div"),Z=B("label"),z=B("input"),ee=C("\n @GatwickExpress"),te=w(),ne=B("div"),re=B("label"),oe=B("input"),ae=C("\n @GlasgowSubway"),le=w(),ie=B("div"),se=B("label"),ce=B("input"),ue=C("\n @GWRHelp"),de=w(),he=B("div"),fe=B("label"),Se=B("input"),ge=C("\n @HeathrowExpress"),ye=w(),me=B("div"),pe=B("label"),Be=B("input"),Ce=C("\n @LNER"),we=w(),be=B("div"),Le=B("label"),He=B("input"),ve=C("\n @LNRailway"),Ne=w(),Re=B("div"),We=B("label"),Te=B("input"),ke=C("\n @northernassist"),Me=w(),Ae=B("div"),De=B("label"),Ee=B("input"),Pe=C("\n @ScotRail"),Ge=w(),Fe=B("div"),Ie=B("label"),Oe=B("input"),Ke=C("\n @Stansted_Exp"),xe=w(),Ye=B("div"),_e=B("label"),$e=B("input"),Ue=C("\n @TfL"),Ve=w(),je=B("div"),Je=B("label"),Xe=B("input"),Qe=C("\n @NetworkRailBHM"),qe=w(),Ze=B("div"),ze=B("label"),et=B("input"),tt=C("\n @NetworkRailEDB"),nt=w(),rt=B("div"),ot=B("label"),at=B("input"),lt=C("\n @NetworkRailEUS"),it=w(),st=B("div"),ct=B("label"),ut=B("input"),dt=C("\n @NetworkRailGLC"),ht=w(),ft=B("div"),St=B("label"),gt=B("input"),yt=C("\n @NetworkRailKGX"),mt=w(),pt=B("div"),Bt=B("label"),Ct=B("input"),wt=C("\n @NetworkRailLST"),bt=w(),Lt=B("div"),Ht=B("label"),vt=B("input"),Nt=C("\n @NetworkRailMAN"),Rt=w(),Wt=B("div"),Tt=B("label"),kt=B("input"),Mt=C("\n @NetworkRailVIC"),At=w(),Dt=B("div"),Et=B("label"),Pt=B("input"),Gt=C("\n @BTPScotland"),H(a,"type","checkbox"),H(r,"class","label-body svelte-ui3fhj"),H(u,"type","checkbox"),H(c,"class","label-body svelte-ui3fhj"),H(p,"type","checkbox"),H(S,"class","label-body svelte-ui3fhj"),H(W,"type","checkbox"),H(R,"class","label-body svelte-ui3fhj"),H(D,"type","checkbox"),H(A,"class","label-body svelte-ui3fhj"),H(I,"type","checkbox"),H(F,"class","label-body svelte-ui3fhj"),H(_,"type","checkbox"),H(Y,"class","label-body svelte-ui3fhj"),H(J,"type","checkbox"),H(j,"class","label-body svelte-ui3fhj"),H(z,"type","checkbox"),H(Z,"class","label-body svelte-ui3fhj"),H(oe,"type","checkbox"),H(re,"class","label-body svelte-ui3fhj"),H(ce,"type","checkbox"),H(se,"class","label-body svelte-ui3fhj"),H(Se,"type","checkbox"),H(fe,"class","label-body svelte-ui3fhj"),H(Be,"type","checkbox"),H(pe,"class","label-body svelte-ui3fhj"),H(He,"type","checkbox"),H(Le,"class","label-body svelte-ui3fhj"),H(Te,"type","checkbox"),H(We,"class","label-body svelte-ui3fhj"),H(Ee,"type","checkbox"),H(De,"class","label-body svelte-ui3fhj"),H(Oe,"type","checkbox"),H(Ie,"class","label-body svelte-ui3fhj"),H($e,"type","checkbox"),H(_e,"class","label-body svelte-ui3fhj"),H(Xe,"type","checkbox"),H(Je,"class","label-body svelte-ui3fhj"),H(et,"type","checkbox"),H(ze,"class","label-body svelte-ui3fhj"),H(at,"type","checkbox"),H(ot,"class","label-body svelte-ui3fhj"),H(ut,"type","checkbox"),H(ct,"class","label-body svelte-ui3fhj"),H(gt,"type","checkbox"),H(St,"class","label-body svelte-ui3fhj"),H(Ct,"type","checkbox"),H(Bt,"class","label-body svelte-ui3fhj"),H(vt,"type","checkbox"),H(Ht,"class","label-body svelte-ui3fhj"),H(kt,"type","checkbox"),H(Tt,"class","label-body svelte-ui3fhj"),H(Pt,"type","checkbox"),H(Et,"class","label-body svelte-ui3fhj"),H(t,"class","grid-1")},m(m,B,C){y(m,t,B),g(t,n),g(n,r),g(r,a),a.checked=e[0].nationalrailenq.follow,g(r,l),g(t,i),g(t,s),g(s,c),g(c,u),u.checked=e[0].networkrail.follow,g(c,d),g(t,h),g(t,f),g(f,S),g(S,p),p.checked=e[0].NetworkRailSCOT.follow,g(S,b),g(t,v),g(t,N),g(N,R),g(R,W),W.checked=e[0].AvantiWestCoast.follow,g(R,T),g(t,k),g(t,M),g(M,A),g(A,D),D.checked=e[0].CalSleeper.follow,g(A,E),g(t,P),g(t,G),g(G,F),g(F,I),I.checked=e[0].CrossCountryUK.follow,g(F,O),g(t,K),g(t,x),g(x,Y),g(Y,_),_.checked=e[0].Eurostar.follow,g(Y,$),g(t,U),g(t,V),g(V,j),g(j,J),J.checked=e[0].EurostarUK.follow,g(j,X),g(t,Q),g(t,q),g(q,Z),g(Z,z),z.checked=e[0].GatwickExpress.follow,g(Z,ee),g(t,te),g(t,ne),g(ne,re),g(re,oe),oe.checked=e[0].GlasgowSubway.follow,g(re,ae),g(t,le),g(t,ie),g(ie,se),g(se,ce),ce.checked=e[0].GWRHelp.follow,g(se,ue),g(t,de),g(t,he),g(he,fe),g(fe,Se),Se.checked=e[0].HeathrowExpress.follow,g(fe,ge),g(t,ye),g(t,me),g(me,pe),g(pe,Be),Be.checked=e[0].LNER.follow,g(pe,Ce),g(t,we),g(t,be),g(be,Le),g(Le,He),He.checked=e[0].LNRailway.follow,g(Le,ve),g(t,Ne),g(t,Re),g(Re,We),g(We,Te),Te.checked=e[0].northernassist.follow,g(We,ke),g(t,Me),g(t,Ae),g(Ae,De),g(De,Ee),Ee.checked=e[0].ScotRail.follow,g(De,Pe),g(t,Ge),g(t,Fe),g(Fe,Ie),g(Ie,Oe),Oe.checked=e[0].Stansted_Exp.follow,g(Ie,Ke),g(t,xe),g(t,Ye),g(Ye,_e),g(_e,$e),$e.checked=e[0].TfL.follow,g(_e,Ue),g(t,Ve),g(t,je),g(je,Je),g(Je,Xe),Xe.checked=e[0].NetworkRailBHM.follow,g(Je,Qe),g(t,qe),g(t,Ze),g(Ze,ze),g(ze,et),et.checked=e[0].NetworkRailEDB.follow,g(ze,tt),g(t,nt),g(t,rt),g(rt,ot),g(ot,at),at.checked=e[0].NetworkRailEUS.follow,g(ot,lt),g(t,it),g(t,st),g(st,ct),g(ct,ut),ut.checked=e[0].NetworkRailGLC.follow,g(ct,dt),g(t,ht),g(t,ft),g(ft,St),g(St,gt),gt.checked=e[0].NetworkRailKGX.follow,g(St,yt),g(t,mt),g(t,pt),g(pt,Bt),g(Bt,Ct),Ct.checked=e[0].NetworkRailLST.follow,g(Bt,wt),g(t,bt),g(t,Lt),g(Lt,Ht),g(Ht,vt),vt.checked=e[0].NetworkRailMAN.follow,g(Ht,Nt),g(t,Rt),g(t,Wt),g(Wt,Tt),g(Tt,kt),kt.checked=e[0].NetworkRailVIC.follow,g(Tt,Mt),g(t,At),g(t,Dt),g(Dt,Et),g(Et,Pt),Pt.checked=e[0].BTPScotland.follow,g(Et,Gt),C&&o(Ft),Ft=[L(a,"change",e[2]),L(u,"change",e[3]),L(p,"change",e[4]),L(W,"change",e[5]),L(D,"change",e[6]),L(I,"change",e[7]),L(_,"change",e[8]),L(J,"change",e[9]),L(z,"change",e[10]),L(oe,"change",e[11]),L(ce,"change",e[12]),L(Se,"change",e[13]),L(Be,"change",e[14]),L(He,"change",e[15]),L(Te,"change",e[16]),L(Ee,"change",e[17]),L(Oe,"change",e[18]),L($e,"change",e[19]),L(Xe,"change",e[20]),L(et,"change",e[21]),L(at,"change",e[22]),L(ut,"change",e[23]),L(gt,"change",e[24]),L(Ct,"change",e[25]),L(vt,"change",e[26]),L(kt,"change",e[27]),L(Pt,"change",e[28])]},p(e,t){1&t&&(a.checked=e[0].nationalrailenq.follow),1&t&&(u.checked=e[0].networkrail.follow),1&t&&(p.checked=e[0].NetworkRailSCOT.follow),1&t&&(W.checked=e[0].AvantiWestCoast.follow),1&t&&(D.checked=e[0].CalSleeper.follow),1&t&&(I.checked=e[0].CrossCountryUK.follow),1&t&&(_.checked=e[0].Eurostar.follow),1&t&&(J.checked=e[0].EurostarUK.follow),1&t&&(z.checked=e[0].GatwickExpress.follow),1&t&&(oe.checked=e[0].GlasgowSubway.follow),1&t&&(ce.checked=e[0].GWRHelp.follow),1&t&&(Se.checked=e[0].HeathrowExpress.follow),1&t&&(Be.checked=e[0].LNER.follow),1&t&&(He.checked=e[0].LNRailway.follow),1&t&&(Te.checked=e[0].northernassist.follow),1&t&&(Ee.checked=e[0].ScotRail.follow),1&t&&(Oe.checked=e[0].Stansted_Exp.follow),1&t&&($e.checked=e[0].TfL.follow),1&t&&(Xe.checked=e[0].NetworkRailBHM.follow),1&t&&(et.checked=e[0].NetworkRailEDB.follow),1&t&&(at.checked=e[0].NetworkRailEUS.follow),1&t&&(ut.checked=e[0].NetworkRailGLC.follow),1&t&&(gt.checked=e[0].NetworkRailKGX.follow),1&t&&(Ct.checked=e[0].NetworkRailLST.follow),1&t&&(vt.checked=e[0].NetworkRailMAN.follow),1&t&&(kt.checked=e[0].NetworkRailVIC.follow),1&t&&(Pt.checked=e[0].BTPScotland.follow)},d(e){e&&m(t),o(Ft)}}}function qt(t){let n,r,o,a=t[1]&&Qt(t);return{c(){n=B("div"),r=B("div"),r.textContent="Twitter",o=w(),a&&a.c(),H(r,"class","text-dark text-subhead"),H(n,"class","container ")},m(e,t){y(e,n,t),g(n,r),g(n,o),a&&a.m(n,null)},p(e,[t]){e[1]?a?a.p(e,t):(a=Qt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&m(n),a&&a.d()}}}function Zt(e,t,n){let r,o=!1;return P(async()=>{n(0,r=Qe.getTwitterFollowing()),n(1,o=Object.keys(r).length>0)}),G(async()=>{Qe.saveTwitterFollowing(r)}),Qe.twitterFollowing.subscribe(async e=>{n(0,r=e),n(1,o=Object.keys(r).length>0)}),[r,o,function(){r.nationalrailenq.follow=this.checked,n(0,r)},function(){r.networkrail.follow=this.checked,n(0,r)},function(){r.NetworkRailSCOT.follow=this.checked,n(0,r)},function(){r.AvantiWestCoast.follow=this.checked,n(0,r)},function(){r.CalSleeper.follow=this.checked,n(0,r)},function(){r.CrossCountryUK.follow=this.checked,n(0,r)},function(){r.Eurostar.follow=this.checked,n(0,r)},function(){r.EurostarUK.follow=this.checked,n(0,r)},function(){r.GatwickExpress.follow=this.checked,n(0,r)},function(){r.GlasgowSubway.follow=this.checked,n(0,r)},function(){r.GWRHelp.follow=this.checked,n(0,r)},function(){r.HeathrowExpress.follow=this.checked,n(0,r)},function(){r.LNER.follow=this.checked,n(0,r)},function(){r.LNRailway.follow=this.checked,n(0,r)},function(){r.northernassist.follow=this.checked,n(0,r)},function(){r.ScotRail.follow=this.checked,n(0,r)},function(){r.Stansted_Exp.follow=this.checked,n(0,r)},function(){r.TfL.follow=this.checked,n(0,r)},function(){r.NetworkRailBHM.follow=this.checked,n(0,r)},function(){r.NetworkRailEDB.follow=this.checked,n(0,r)},function(){r.NetworkRailEUS.follow=this.checked,n(0,r)},function(){r.NetworkRailGLC.follow=this.checked,n(0,r)},function(){r.NetworkRailKGX.follow=this.checked,n(0,r)},function(){r.NetworkRailLST.follow=this.checked,n(0,r)},function(){r.NetworkRailMAN.follow=this.checked,n(0,r)},function(){r.NetworkRailVIC.follow=this.checked,n(0,r)},function(){r.BTPScotland.follow=this.checked,n(0,r)}]}class zt extends ge{constructor(e){super(),Se(this,e,Zt,qt,l,{})}}function en(t){let n,r,o,a,l,i,s,c;const u=new Ot({}),d=new Xt({}),h=new zt({});return{c(){n=B("div"),r=B("div"),r.textContent="Settings",o=w(),ue(u.$$.fragment),a=w(),ue(d.$$.fragment),l=w(),i=B("hr"),s=w(),ue(h.$$.fragment),H(r,"class","text-dark text-subhead"),H(n,"class","container")},m(e,t){y(e,n,t),g(n,r),g(n,o),de(u,n,null),g(n,a),de(d,n,null),g(n,l),g(n,i),g(n,s),de(h,n,null),c=!0},p:e,i(e){c||(re(u.$$.fragment,e),re(d.$$.fragment,e),re(h.$$.fragment,e),c=!0)},o(e){oe(u.$$.fragment,e),oe(d.$$.fragment,e),oe(h.$$.fragment,e),c=!1},d(e){e&&m(n),he(u),he(d),he(h)}}}function tn(t){let n;return{c(){n=B("div"),n.innerHTML='

Favourites

\n\n
a
\n
b
\n
c
\n
d
',H(n,"class","container svelte-10ahukt")},m(e,t){y(e,n,t)},p:e,i:e,o:e,d(e){e&&m(n)}}}function nn(e){let t,n,r,o,a,l,i,s,c,u,d,h,f,S,p,b,L,N,R,W,T,k,M,A=e[0].user.name+"",D=e[0].user.screen_name+"",E=e[0].created_at+"",P=e[1]&&rn(e);return{c(){t=B("div"),n=B("blockquote"),r=B("div"),o=B("div"),a=B("img"),s=w(),c=B("div"),u=B("div"),d=C(A),h=w(),f=B("div"),S=C("@"),p=C(D),b=w(),P&&P.c(),L=w(),N=B("div"),R=C(e[2]),W=w(),T=B("div"),k=B("small"),M=C(E),H(a,"class","avatar col-2 svelte-1talptw"),a.src!==(l=an(e[0].user.profile_image_url_https))&&H(a,"src",l),H(a,"alt",i="@"+e[0].user.screen_name),H(u,"class","text-subhead"),H(c,"class","col-10 ml-2"),H(o,"class","grid"),H(r,"class","tweet-header"),H(N,"class","tweetBody"),H(k,"class","text-highlight2"),H(t,"class","card")},m(e,l){y(e,t,l),g(t,n),g(n,r),g(r,o),g(o,a),g(o,s),g(o,c),g(c,u),g(u,d),g(c,h),g(c,f),g(f,S),g(f,p),g(n,b),P&&P.m(n,null),g(n,L),g(n,N),g(N,R),g(n,W),g(n,T),g(T,k),g(k,M)},p(e,t){1&t&&a.src!==(l=an(e[0].user.profile_image_url_https))&&H(a,"src",l),1&t&&i!==(i="@"+e[0].user.screen_name)&&H(a,"alt",i),1&t&&A!==(A=e[0].user.name+"")&&v(d,A),1&t&&D!==(D=e[0].user.screen_name+"")&&v(p,D),e[1]?P?P.p(e,t):(P=rn(e),P.c(),P.m(n,L)):P&&(P.d(1),P=null),4&t&&v(R,e[2]),1&t&&E!==(E=e[0].created_at+"")&&v(M,E)},d(e){e&&m(t),P&&P.d()}}}function rn(e){let t,n,r,o=e[0].in_reply_to_screen_name+"";return{c(){t=B("div"),n=C("Replying to @"),r=C(o)},m(e,o){y(e,t,o),g(t,n),g(t,r)},p(e,t){1&t&&o!==(o=e[0].in_reply_to_screen_name+"")&&v(r,o)},d(e){e&&m(t)}}}function on(t){let n,r=t[0]&&nn(t);return{c(){r&&r.c(),n=b()},m(e,t){r&&r.m(e,t),y(e,n,t)},p(e,[t]){e[0]?r?r.p(e,t):(r=nn(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i:e,o:e,d(e){r&&r.d(e),e&&m(n)}}}function an(e){return"https://image.silvrtree.co.uk/48,fit,q80/"+e}function ln(e,t,n){let r,o,{id:a}=t,l=!1,i="";return P(async()=>{r=Qe.getTweetByID(a),n(0,o=JSON.parse(r.tweet))}),e.$set=e=>{"id"in e&&n(3,a=e.id)},e.$$.update=()=>{1&e.$$.dirty&&o&&(n(1,l=o&&null!==o.in_reply_to_status_id),n(2,i=o&&o.truncated?o.extended_tweet.full_text:o.text))},[o,l,i,a]}class sn extends ge{constructor(e){super(),Se(this,e,ln,on,l,{id:3})}}function cn(e,t,n){const r=e.slice();return r[2]=t[n],r[4]=n,r}function un(e,t){let n,r;const o=new sn({props:{id:t[2]}});return{key:e,first:null,c(){n=b(),ue(o.$$.fragment),this.first=n},m(e,t){y(e,n,t),de(o,e,t),r=!0},p(e,t){const n={};1&t&&(n.id=e[2]),o.$set(n)},i(e){r||(re(o.$$.fragment,e),r=!0)},o(e){oe(o.$$.fragment,e),r=!1},d(e){e&&m(n),he(o,e)}}}function dn(e){let t,n,r,o,a=[],l=new Map,i=e[0];const s=e=>e[2];for(let t=0;t{await Qe.getTweets(),r=setInterval(async()=>{console.log("Twitter update"),await Qe.getTweets()},3e5)}),G(async()=>{clearInterval(r)}),Qe.tweetList.subscribe(async e=>{n(0,o=e)}),[o]}function fn(t){let n,r,o;return{c(){n=B("h2"),n.textContent="NotFound",r=w(),o=B("p"),o.textContent="Oops, this route doesn't exist!",H(n,"class","routetitle svelte-1py2nd3"),H(o,"class","svelte-1py2nd3")},m(e,t){y(e,n,t),y(e,r,t),y(e,o,t)},p:e,i:e,o:e,d(e){e&&m(n),e&&m(r),e&&m(o)}}}const Sn=new Map;function gn(t){let n,r;return{c(){n=B("span"),n.innerHTML='',H(n,"class","")},m(e,t,o){y(e,n,t),o&&r(),r=L(n,"click",pn)},p:e,d(e){e&&m(n),r()}}}function yn(t){let n,r,o,a,l,i,s,c,u,d,h=1===t[0]&&gn();return{c(){n=B("header"),r=B("section"),h&&h.c(),o=w(),a=B("span"),a.textContent=""+mn,l=w(),i=B("section"),s=B("a"),s.textContent="Tweets",c=w(),u=B("a"),u.textContent="Settings",d=w(),H(a,"class","text-bold navbar-brand mx-1 text-uppercase"),H(r,"class","navbar-section"),H(s,"href","/#/tweets"),H(s,"class","btn bg-primary "),H(u,"href","/#/settings"),H(u,"class","btn bg-primary "),H(i,"class","navbar-section text-right"),H(n,"class","navbar bg-primary")},m(e,t){y(e,n,t),g(n,r),h&&h.m(r,null),g(r,o),g(r,a),g(n,l),g(n,i),g(i,s),g(i,c),g(i,u),g(i,d)},p(e,[t]){1===e[0]?h?h.p(e,t):(h=gn(),h.c(),h.m(r,o)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&m(n),h&&h.d()}}}Sn.set("/",class extends ge{constructor(e){super(),Se(this,e,rt,nt,l,{})}}),Sn.set("/timetable/:fromStation/:destStation",class extends ge{constructor(e){super(),Se(this,e,Wt,Rt,l,{params:4})}}),Sn.set("/service/:serviceId",class extends ge{constructor(e){super(),Se(this,e,ht,dt,l,{params:1})}}),Sn.set("/settings",class extends ge{constructor(e){super(),Se(this,e,null,en,l,{})}}),Sn.set("/favourites",class extends ge{constructor(e){super(),Se(this,e,null,tn,l,{})}}),Sn.set("/tweets",class extends ge{constructor(e){super(),Se(this,e,hn,dn,l,{})}}),Sn.set("*",class extends ge{constructor(e){super(),Se(this,e,null,fn,l,{})}});let mn="Traintimes";function pn(){Ne(()=>{window.history.back()})}function Bn(e,t,n){let r,{page:o}=t;return e.$set=e=>{"page"in e&&n(1,o=e.page)},e.$$.update=()=>{2&e.$$.dirty&&n(0,r="Home"===o?0:1)},[r,o]}class Cn extends ge{constructor(e){super(),Se(this,e,Bn,yn,l,{page:1})}}function wn(e){let t,n;const r=new Cn({props:{page:e[0]}}),o=new We({props:{routes:Sn}});return o.$on("conditionsFailed",bn),o.$on("routeLoaded",e[1]),o.$on("routeEvent",Ln),{c(){ue(r.$$.fragment),t=w(),ue(o.$$.fragment)},m(e,a){de(r,e,a),y(e,t,a),de(o,e,a),n=!0},p(e,[t]){const n={};1&t&&(n.page=e[0]),r.$set(n)},i(e){n||(re(r.$$.fragment,e),re(o.$$.fragment,e),n=!0)},o(e){oe(r.$$.fragment,e),oe(o.$$.fragment,e),n=!1},d(e){he(r,e),e&&m(t),he(o,e)}}}function bn(e){console.error("Caught event conditionsFailed",e.detail)}function Ln(e){console.info("Caught event routeEvent",e.detail)}function Hn(e,t,n){let r;return[r,function(e){console.info("Caught event routeLoaded",e.detail),n(0,r=e.detail.name),console.log("currentPage",r)}]}return new class extends ge{constructor(e){super(),Se(this,e,Hn,wn,l,{})}}({target:document.body,props:{}})}(); diff --git a/live/build/bundle.js.map b/live/build/bundle.js.map new file mode 100644 index 0000000..b013356 --- /dev/null +++ b/live/build/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../node_modules/svelte-spa-router/active.js","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/libs/stations.js","../../src/libs/utils.js","../../node_modules/redaxios/dist/redaxios.module.js","../../node_modules/localforage/dist/localforage.js","../../src/store/store.js","../../src/components/TrainRoute.svelte","../../src/pages/Home.svelte","../../src/libs/reducer.js","../../src/components/TrainService.svelte","../../src/pages/Service.svelte","../../src/components/TimetableList.svelte","../../src/pages/Timetable.svelte","../../src/components/SettingsInput.svelte","../../src/components/SettingsEditor.svelte","../../src/libs/longpress.js","../../src/components/SettingsListItem.svelte","../../src/components/SettingsList.svelte","../../src/components/TwitterSettings.svelte","../../src/components/Twitter.svelte","../../src/pages/Twitter.svelte","../../src/routes.js","../../src/components/Header.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value' || descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group) {\n const value = [];\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.push(group[i].__value);\n }\n return value;\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n while (j < node.attributes.length) {\n const attribute = node.attributes[j];\n if (attributes[attribute.name]) {\n j++;\n }\n else {\n node.removeAttribute(attribute.name);\n }\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.data !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n if (value != null || input.value) {\n input.value = value;\n }\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\nfunction add_resize_listener(element, fn) {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n const object = document.createElement('object');\n object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n object.setAttribute('aria-hidden', 'true');\n object.type = 'text/html';\n object.tabIndex = -1;\n let win;\n object.onload = () => {\n win = object.contentDocument.defaultView;\n win.addEventListener('resize', fn);\n };\n if (/Trident/.test(navigator.userAgent)) {\n element.appendChild(object);\n object.data = 'about:blank';\n }\n else {\n object.data = 'about:blank';\n element.appendChild(object);\n }\n return {\n cancel: () => {\n win && win.removeEventListener && win.removeEventListener('resize', fn);\n element.removeChild(object);\n }\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(html, anchor = null) {\n this.e = element('div');\n this.a = anchor;\n this.u(html);\n }\n m(target, anchor = null) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(target, this.n[i], anchor);\n }\n this.t = target;\n }\n u(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n p(html) {\n this.d();\n this.u(html);\n this.m(this.t, this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined' ? window : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next, lookup.has(block.key));\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if ($$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.20.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.data === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","import regexparam from 'regexparam'\nimport {loc} from './Router.svelte'\n\n// List of nodes to update\nconst nodes = []\n\n// Current location\nlet location\n\n// Function that updates all nodes marking the active ones\nfunction checkActive(el) {\n // Remove the active class from all elements\n el.node.classList.remove(el.className)\n\n // If the pattern matches, then set the active class\n if (el.pattern.test(location)) {\n el.node.classList.add(el.className)\n }\n}\n\n// Listen to changes in the location\nloc.subscribe((value) => {\n // Update the location\n location = value.location + (value.querystring ? '?' + value.querystring : '')\n\n // Update all nodes\n nodes.map(checkActive)\n})\n\n/**\n * @typedef {Object} ActiveOptions\n * @property {string|RegExp} [path] - Path expression that makes the link active when matched (must start with '/' or '*'); default is the link's href\n * @property {string} [className] - CSS class to apply to the element when active; default value is \"active\"\n */\n\n/**\n * Svelte Action for automatically adding the \"active\" class to elements (links, or any other DOM element) when the current location matches a certain path.\n * \n * @param {HTMLElement} node - The target node (automatically set by Svelte)\n * @param {ActiveOptions|string|RegExp} [opts] - Can be an object of type ActiveOptions, or a string (or regular expressions) representing ActiveOptions.path.\n */\nexport default function active(node, opts) {\n // Check options\n if (opts && (typeof opts == 'string' || (typeof opts == 'object' && opts instanceof RegExp))) {\n // Interpret strings and regular expressions as opts.path\n opts = {\n path: opts\n }\n }\n else {\n // Ensure opts is a dictionary\n opts = opts || {}\n }\n\n // Path defaults to link target\n if (!opts.path && node.hasAttribute('href')) {\n opts.path = node.getAttribute('href')\n if (opts.path && opts.path.length > 1 && opts.path.charAt(0) == '#') {\n opts.path = opts.path.substring(1)\n }\n }\n\n // Default class name\n if (!opts.className) {\n opts.className = 'active'\n }\n\n // If path is a string, it must start with '/' or '*'\n if (!opts.path || \n typeof opts.path == 'string' && (opts.path.length < 1 || (opts.path.charAt(0) != '/' && opts.path.charAt(0) != '*'))\n ) {\n throw Error('Invalid value for \"path\" argument')\n }\n\n // If path is not a regular expression already, make it\n const {pattern} = typeof opts.path == 'string' ?\n regexparam(opts.path) :\n {pattern: opts.path}\n\n // Add the node to the list\n const el = {\n node,\n className: opts.className,\n pattern\n }\n nodes.push(el)\n\n // Trigger the action right away\n checkActive(el)\n\n return {\n // When the element is destroyed, remove it from the list\n destroy() {\n nodes.splice(nodes.indexOf(el), 1)\n }\n }\n}\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","const sMap = new Map([['ZNJ', 'Northampton North Junction'], ['ZPS', 'Plaistow L.T.'], ['MSC', 'Marseille St Charles'], ['ZAE', 'Aldgate East'], ['ZEP', 'East Putney'], ['GBG', 'Gorebridge'], ['ZHR', 'Holloway Road'], ['ZPN', 'Paddington (Bakerloo Line)'], ['NMC', 'New Mills Central'], ['HBB', 'Hubberts Bridge'], ['ADC', 'Adlington (Cheshire)'], ['WHI', 'Whitstable'], ['FEG', 'Fellgate (T & W Metro)'], ['HRH', 'Horsham'], ['LNW', 'Llanwrtyd'], ['RYP', 'Ryde Pier Head'], ['PRU', 'Prudhoe'], ['TLH', 'Tilehurst'], ['SBM', 'South Bermondsey'], ['TAM', 'Tamworth'], ['CFD', 'Castleford'], ['NMN', 'New Mills Newtown'], ['HFS', 'Hatfield & Stainforth'], ['WFN', 'Watford North'], ['GWN', 'Gowerton'], ['WMW', 'Walthamstow Queens Road'], ['INP', 'Inverkip'], ['WRW', 'Warwick'], ['WHG', 'Westhoughton'], ['WIM', 'Wimbledon'], ['CLM', 'Collingham'], ['DRF', 'Driffield'], ['NWT', 'Newtown (Powys)'], ['SOE', 'Southend East'], ['PNF', 'Penyffordd'], ['WYE', 'Wye'], ['BAR', 'Bare Lane'], ['YRM', 'Yarm'], ['NTH', 'Neath'], ['ERH', 'Erith'], ['CFO', 'Chalfont & Latimer'], ['FGW', 'Fishguard & Goodwick'], ['BAY', 'Bayford'], ['BER', 'Bearley'], ['SIT', 'Sittingbourne'], ['WHL', 'White Hart Lane'], ['DRN', 'Duirinish'], ['SWK', 'Southwick'], ['MTM', 'Martin Mill'], ['NWR', 'Newtonmore'], ['ADW', 'Addiewell'], ['ALV', 'Alvechurch'], ['SQE', 'Surrey Quays'], ['HIG', 'Highbridge & Burnham'], ['RMC', 'Rotherham Central'], ['NTN', 'Newton'], ['CBN', 'Camborne'], ['RIA', 'Rhoose Cardiff Intl Airport'], ['BXW', 'Boxhill & Westhumble'], ['TNN', 'Thorne North'], ['FTN', 'Fratton'], ['RUA', 'Ruabon'], ['LAY', 'Layton'], ['LLV', 'Llandovery'], ['MAS', 'Manors'], ['CLG', 'Claygate'], ['CTT', 'Church Stretton'], ['GGV', 'Gargrave'], ['TNS', 'Thorne South'], ['CRE', 'Crewe'], ['WXC', 'Wrexham Central'], ['CAD', 'Cadoxton'], ['HYB', 'Honeybourne'], ['WGT', 'Wigton'], ['WRX', 'Wrexham General'], ['RHO', 'Rhosneigr'], ['KWL', 'Kidwelly'], ['RYD', 'Ryde Esplanade'], ['PTL', 'Priesthill & Darnley'], ['NWN', 'Newton for Hyde'], ['SBP', 'Stonebridge Park'], ['PEV', 'Pevensey & Westham'], ['ACL', 'Acle'], ['GDH', 'Gordon Hill'], ['LSY', 'Lower Sydenham'], ['SEB', 'Seaburn (T & W Metro)'], ['AYW', 'Aberystwyth'], ['LNZ', 'Lenzie'], ['MDS', 'Morden South'], ['ADD', 'Adderley Park'], ['EFL', 'East Farleigh'], ['SPU', 'Staplehurst'], ['UHL', 'Upper Holloway'], ['WLP', 'Welshpool'], ['CAS', 'Castleton'], ['HAM', 'Hamworthy'], ['BGN', 'Bridgend'], ['BRN', 'Bearsden'], ['APG', 'Aspley Guise'], ['DEW', 'Dewsbury'], ['BPS', 'Blackpool South'], ['KSL', 'Kearsley'], ['PYJ', 'Paisley St James'], ['NBA', 'New Barnet'], ['WHR', 'West Horndon'], ['HLD', 'Hellifield'], ['RDR', 'Radyr'], ['VAL', 'Valley'], ['BSD', 'Bearsted'], ['FIT', 'Filton Abbey Wood'], ['NAY', 'Newton Aycliffe'], ['BWK', 'Berwick-upon-Tweed'], ['BIF', 'Barrow-in-Furness'], ['DMY', 'Drumry'], ['CKH', 'Corkerhill'], ['LBK', 'Long Buckby'], ['BEA', 'Bridge of Allan'], ['PEB', 'Pevensey Bay'], ['CRL', 'Chorley'], ['ECS', 'Eccles Road'], ['FSG', 'Fishersgate'], ['YSR', 'Ystrad Rhondda'], ['UNV', 'University (T & W Metro)'], ['WCL', 'West Calder'], ['GNW', 'Greenwich'], ['SAB', 'Smallbrook Junction'], ['BDA', 'Brundall'], ['LNG', 'Longcross'], ['PSW', 'Polesworth'], ['SPP', 'Shippea Hill'], ['FIL', 'Filey'], ['HRR', 'Harrington'], ['MGM', 'Metheringham'], ['RAV', 'Ravenglass for Eskdale'], ['OLT', 'Olton'], ['CRD', 'Chester Road'], ['SAH', 'Salhouse'], ['GIL', 'Gillingham (Dorset)'], ['GNT', 'Gunton'], ['FEN', 'Fenny Stratford'], ['CBB', 'Carbis Bay'], ['BLW', 'Bulwell'], ['FMR', 'Falmer'], ['WNY', 'White Notley'], ['SFD', 'Salford Central'], ['BGI', 'Bargeddie'], ['WLY', 'Woodley'], ['BYC', 'Betws-y-Coed'], ['WYT', 'Wythall'], ['KID', 'Kidderminster'], ['SMO', 'South Merton'], ['ULC', 'Ulceby'], ['AWK', 'Adwick'], ['CRR', 'Corrour'], ['OVR', 'Overton'], ['RET', 'Retford'], ['STQ', 'Southampton Town Quay (Bus)'], ['BBS', 'Bordesley'], ['GOS', 'Grange-over-Sands'], ['MAY', 'Maybole'], ['YET', 'Yetminster'], ['LIH', 'Leigh (Kent)'], ['SMC', 'Sampford Courtenay'], ['SLO', 'Slough'], ['LHE', 'Loch Eil Outward Bound'], ['WBP', 'West Brompton'], ['NBT', 'Norbiton'], ['KVP', 'Kiveton Park'], ['PNL', 'Pannal'], ['MEO', 'Meols'], ['SRG', 'Seer Green'], ['CTO', 'Carlton'], ['GLY', 'Glynde'], ['MSW', 'Mansfield Woodhouse'], ['IBM', 'IBM'], ['BRL', 'Barrhill'], ['TRD', 'Troed-y-rhiw'], ['MEC', 'Meols Cop'], ['POL', 'Polsloe Bridge'], ['TPN', 'Ton Pentre'], ['BCK', 'Buckley'], ['CHC', 'Charing Cross (Glasgow)'], ['SRA', 'Stratford (London)'], ['WWO', 'West Worthing'], ['RSH', 'Rose Hill Marple'], ['SMT', 'St Margarets (Hertfordshire)'], ['WIH', 'Winchmore Hill'], ['CRS', 'Carstairs'], ['KGX', 'London Kings Cross'], ['LHS', 'Limehouse'], ['THB', 'Thornliebank'], ['DRT', 'Darton'], ['LLD', 'Llandudno'], ['NRN', 'Nairn'], ['KGE', 'Kingsknowe'], ['TNA', 'Thornton Abbey'], ['LRD', 'London Road (Guildford)'], ['BAL', 'Balham'], ['FRH', 'Calais Frethun'], ['WAC', 'Warrington Central'], ['GMV', 'Great Malvern'], ['MNC', 'Markinch'], ['WRT', 'Worstead'], ['EBB', 'Ebbw Vale Town'], ['MEL', 'Meldreth'], ['BYB', 'Blythe Bridge'], ['LOT', 'Lostock'], ['CNM', 'Cheltenham Spa'], ['FZH', 'Frizinghall'], ['LLJ', 'Llandudno Junction'], ['UPM', 'Upminster'], ['DBC', 'Dumbarton Central'], ['STT', 'Stewarton'], ['DBE', 'Dumbarton East'], ['TYS', 'Tyseley'], ['DNS', 'Dinas Powys'], ['DEE', 'Dundee'], ['LDY', 'Ladybank'], ['PBY', 'Pembrey & Burry Port'], ['GMD', 'Grimsby Docks'], ['KEI', 'Keighley'], ['BIP', 'Bishopstone'], ['SFO', 'Stanford-le-Hope'], ['BYF', 'Broughty Ferry'], ['MYH', 'Maryhill'], ['DRM', 'Drem'], ['NBE', 'Newbridge'], ['WSF', 'Winsford'], ['THD', 'Thames Ditton'], ['HMM', 'Hammerton'], ['HOR', 'Horley'], ['BLY', 'Bletchley'], ['ARU', 'Arundel'], ['FNB', 'Farnborough (Main)'], ['CGW', 'Caergwrle'], ['MAO', 'Martins Heron'], ['OXT', 'Oxted'], ['PAT', 'Patricroft'], ['GMB', 'Grimsby Town'], ['TUR', 'Turkey Street'], ['TAF', 'Taffs Well'], ['LTN', 'Luton Airport Parkway'], ['CHM', 'Chelmsford'], ['FLW', 'Fulwell'], ['HTW', 'Hartwood'], ['PNZ', 'Penzance'], ['WDE', 'Wood End'], ['GCW', 'Glan Conwy'], ['HOV', 'Hove'], ['TRH', 'Trehafod'], ['WTE', 'Whitlocks End'], ['DLJ', 'Dalston Junction'], ['VIR', 'Virginia Water'], ['ASP', 'Aspatria'], ['LPT', 'Longport'], ['LWS', 'Lewes'], ['EWD', 'Earlswood (West Midlands)'], ['WAN', 'Wanborough'], ['BTO', 'Betchworth'], ['FLN', 'Flint'], ['BUK', 'Bucknell'], ['LLM', 'Llangammarch'], ['CNG', 'Congleton'], ['WMN', 'Warminster'], ['MTL', 'Mortlake'], ['BWT', 'Bridgwater'], ['BRT', 'Barlaston'], ['MNP', 'Manor Park'], ['ESL', 'Eastleigh'], ['SHO', 'Sholing'], ['EGT', 'Egton'], ['HDH', 'Hampstead Heath'], ['WCP', 'Worcester Park'], ['ISP', 'Islip'], ['TPB', 'Thorpe Bay'], ['CRH', 'Crouch Hill'], ['TBW', 'Tunbridge Wells'], ['GLE', 'Gleneagles'], ['KSW', 'Kirkby Stephen'], ['ALW', 'Allens West'], ['DMG', 'Dinas Rhondda'], ['BSR', 'Broadstairs'], ['WEM', 'Wem'], ['CSN', 'Chessington North'], ['HRD', 'Harling Road'], ['AUI', 'Ardlui'], ['ERI', 'Eridge'], ['APD', 'Appledore (Kent)'], ['DHN', 'Deighton'], ['GLG', 'Glengarnock'], ['MLH', 'Mill Hill (Lancashire)'], ['WRP', 'Warwick Parkway'], ['GOF', 'Golf Street'], ['CHY', 'Chertsey'], ['WOK', 'Woking'], ['LLE', 'Llanelli'], ['MYB', 'London Marylebone'], ['WIL', 'Willington'], ['WIJ', 'Willesden Junction'], ['BME', 'Broome'], ['CAM', 'Camberley'], ['SRT', 'Shortlands'], ['SOP', 'Southport'], ['TYB', 'Tan-y-Bwlch (Bus)'], ['ENC', 'Enfield Chase'], ['RYP', 'Ryde Pier Head'], ['BEB', 'Bebington'], ['LGW', 'Langwathby'], ['WSE', 'Winchelsea'], ['BFR', 'London Blackfriars'], ['SCT', 'Scotscalder'], ['RUG', 'Rugby'], ['SRS', 'Selhurst'], ['MLF', 'Milford (Surrey)'], ['PNA', 'Penally'], ['STU', 'Sturry'], ['TWB', 'Tweedbank'], ['YSM', 'Ystrad Mynach'], ['JEQ', 'Jewellery Quarter'], ['PTW', 'Prestwick Town'], ['EBK', 'Eastbrook'], ['PER', 'Penrhiwceiber'], ['CWM', 'Cwmbran'], ['ING', 'Invergowrie'], ['RBS', 'British Steel Redcar'], ['HLG', 'Hall Green'], ['LSN', 'Livingston North'], ['RML', 'Romiley'], ['BUU', 'Burnham-on-Crouch'], ['ZBC', 'Barons Court Underground'], ['CPN', 'Chapleton'], ['ROG', 'Rogart'], ['LVG', 'Livingston South'], ['HTC', 'Heaton Chapel'], ['KGN', 'Kings Nympton'], ['LCC', 'Lochluichart'], ['DCG', 'Duncraig'], ['TOD', 'Todmorden'], ['WEA', 'West Ealing'], ['SOK', 'South Kenton'], ['SLA', 'Slateford'], ['HLC', 'Helensburgh Central'], ['LGJ', 'Loughborough Junction'], ['HED', 'Halewood'], ['ATH', 'Atherstone'], ['EYN', 'Eynsford'], ['SOT', 'Stoke-on-Trent'], ['CAC', 'Caldercruix'], ['SRC', 'Streatham Common'], ['MSO', 'Moston'], ['BEU', 'Beaulieu Road'], ['ZBK', 'Barking Underground'], ['BNR', 'Brockley Whins (T & W Metro)'], ['LOH', 'Lostock Hall'], ['MIL', 'Mill Hill Broadway'], ['OHL', 'Old Hill'], ['BDW', 'Bedwyn'], ['PMA', 'Portsmouth Arms'], ['WHC', 'Walthamstow Central'], ['KDY', 'Kirkcaldy'], ['FAZ', 'Fazakerley'], ['GLC', 'Glasgow Central'], ['HLU', 'Helensburgh Upper'], ['LTG', 'Lostock Gralam'], ['DLK', 'Dalston Kingsland'], ['MTN', 'Moreton (Dorset)'], ['EBL', 'East Boldon (T & W Metro)'], ['CYN', 'Cynghordy'], ['CHT', 'Chathill'], ['HPT', 'Hopton Heath'], ['ALO', 'Alloa'], ['PMS', 'Portsmouth & Southsea'], ['CON', 'Connel Ferry'], ['WNC', 'Windsor & Eton Central'], ['BET', 'Bethnal Green'], ['SST', 'Stansted Mountfitchet'], ['ESH', 'Esher'], ['WSE', 'Winchelsea'], ['CSS', 'Chessington South'], ['CSL', 'Codsall'], ['CPA', 'Corpach'], ['HGF', 'Hag Fold'], ['SRD', 'Stapleton Road'], ['UPM', 'Upminster'], ['BSJ', 'Bedford St Johns'], ['RYB', 'Roy Bridge'], ['DMP', 'Dumpton Park'], ['LYT', 'Lymington Town'], ['WHE', 'Whalley'], ['HKC', 'Hackney Central'], ['HYC', 'Hyde Central'], ['PEW', 'Pewsey'], ['AHN', 'Ashton-under-Lyne'], ['PRW', 'Perranwell'], ['CKL', 'Corkickle'], ['DOD', 'Dodworth'], ['WTA', 'Wester Hailes'], ['PAW', 'Pelaw (T & W Metro)'], ['AYP', 'Albany Park'], ['NEW', 'Newcraighall'], ['ORE', 'Ore'], ['HAS', 'Halesworth'], ['KWG', 'Kew Gardens'], ['EXG', 'Exhibition Centre'], ['HIL', 'Hillside'], ['MPL', 'Marple'], ['SDA', 'Snodland'], ['BKA', 'Bookham'], ['BNT', 'Brinnington'], ['HKW', 'Hackney Wick'], ['ACR', 'Accrington'], ['QRP', 'Queens Road Peckham'], ['MDG', 'Midgham'], ['BAW', 'Blackwater'], ['MEX', 'Mexborough'], ['ADK', 'Ardwick'], ['DNY', 'Danby'], ['HIN', 'Hindley'], ['PYG', 'Paisley Gilmour Street'], ['PRA', 'Prestwick Intl Airport'], ['DDP', 'Dudley Port'], ['NMK', 'Newmarket'], ['KGL', 'Kings Langley'], ['MLN', 'Milngavie'], ['FML', 'Frimley'], ['NTR', 'Northallerton'], ['SDW', 'Sandwich'], ['BBW', 'Berry Brow'], ['DID', 'Didcot Parkway'], ['SOG', 'Stonegate'], ['HAI', 'Halling'], ['PWL', 'Pwllheli'], ['WCF', 'Westcliff'], ['HGG', 'Haggerston'], ['CMR', 'Cromer'], ['ALX', 'Alexandria'], ['COO', 'Cookham'], ['MRS', 'Monks Risborough'], ['YRT', 'Yorton'], ['BEN', 'Bentham'], ['GOB', 'Gobowen'], ['HAL', 'Hale'], ['CAY', 'Carntyne'], ['BUI', 'Burnside'], ['SEL', 'Sellafield'], ['WIM', 'Wimbledon'], ['YRD', 'Yardley Wood'], ['CHN', 'Cheshunt'], ['HFX', 'Halifax'], ['ELD', 'Earlswood (Surrey)'], ['TOK', 'Three Oaks'], ['PBN', 'Paris Nord'], ['TED', 'Teddington'], ['HKM', 'Hykeham'], ['GRS', 'Garscadden'], ['DSL', 'Disley'], ['HDE', 'Hedge End'], ['BNP', 'Barnstaple'], ['KNS', 'Kennishead'], ['LAK', 'Lakenheath'], ['TUH', 'Tulse Hill'], ['BSY', 'Brondesbury'], ['FOX', 'Foxfield'], ['SHR', 'Shrewsbury'], ['WMG', 'Welham Green'], ['HLF', 'Hillfoot'], ['PMR', 'Peckham Rye'], ['SGR', 'Slade Green'], ['FRE', 'Freshfield'], ['SDG', 'Sandling'], ['DMR', 'Dalmuir'], ['TRF', 'Trefforest'], ['LZB', 'Lazonby & Kirkoswald'], ['KCK', 'Knockholt'], ['LLW', 'Llwyngwril'], ['DCT', 'Danescourt'], ['HRM', 'Harrietsham'], ['WCM', 'Wickham Market'], ['FEA', 'Featherstone'], ['HNH', 'Herne Hill'], ['MCO', 'Manchester Oxford Road'], ['LER', 'Leytonstone High Road'], ['RAU', 'Rauceby'], ['HMW', 'Hampton Wick'], ['SJS', 'St James Street'], ['TEA', 'Tees-side Airport'], ['LNR', 'Llanwrda'], ['BEE', 'Beeston'], ['MTV', 'Mount Vernon'], ['BSV', 'Buckshaw Parkway'], ['DAL', 'Dalmally'], ['KTN', 'Kentish Town'], ['TRA', 'Trafford Park'], ['AMB', 'Ambergate'], ['GOX', 'Goxhill'], ['PLT', 'Pontlottyn'], ['ATT', 'Attadale'], ['POK', 'Pokesdown'], ['STI', 'Stadium of Light (T & W Metro)'], ['HOO', 'Hooton'], ['KGS', 'Kings Sutton'], ['KTW', 'Kentish Town West'], ['ZPC', 'Piccadilly Circus Underground'], ['UTT', 'Uttoxeter'], ['BLH', 'Bellshill'], ['BGA', 'Brundall Gardens'], ['PRT', 'Prestatyn'], ['CPT', 'Clapton'], ['LET', 'Letchworth Garden City'], ['PSN', 'Parson Street'], ['PNE', 'Penge East'], ['NFD', 'Northfield'], ['LTV', 'Lichfield Trent Valley'], ['CBG', 'Cambridge'], ['NPD', 'New Pudsey'], ['ETL', 'East Tilbury'], ['LTV', 'Lichfield Trent Valley'], ['SNI', 'Snaith'], ['AVN', 'Avonmouth'], ['TEN', 'Tenby'], ['PTG', 'Port Glasgow'], ['SPF', 'Springfield'], ['TBD', 'Three Bridges'], ['SLD', 'Salford Crescent'], ['GOE', 'Goldthorpe'], ['SMY', 'St Mary Cray'], ['DBY', 'Derby'], ['HXX', 'Heathrow Airport T123'], ['THO', 'Thornford'], ['PRE', 'Preston'], ['KWN', 'Kilwinning'], ['PRE', 'Preston'], ['HWH', 'Haltwhistle'], ['CNN', 'Canonbury'], ['BOH', 'Bosham'], ['OPK', 'Orrell Park'], ['BDB', 'Broadbottom'], ['LCK', 'Lockwood'], ['NFL', 'Northfleet'], ['TNP', 'Tonypandy'], ['FOC', 'Falls of Cruachan'], ['HYM', 'Haymarket'], ['HIT', 'Hitchin'], ['CLE', 'Cleethorpes'], ['PAL', 'Palmers Green'], ['ARD', 'Ardgay'], ['BUS', 'Busby'], ['LGE', 'Long Eaton'], ['TUL', 'Tulloch'], ['ABD', 'Aberdeen'], ['BRO', 'Bridge of Orchy'], ['GCT', 'Great Coates'], ['INE', 'Ince & Elton'], ['WTT', 'Witton'], ['TRS', 'Thurston'], ['FNC', 'Farncombe'], ['EBD', 'Ebbsfleet International'], ['DUR', 'Durrington-on-Sea'], ['CSA', 'Cosham'], ['PEG', 'Pegswood'], ['CEA', 'Cleland'], ['GCR', 'Gloucester'], ['TAC', 'Tackley'], ['MFH', 'Milford Haven'], ['PRY', 'Perry Barr'], ['RHL', 'Rhyl'], ['THW', 'The Hawthorns'], ['WTH', 'Whitehaven'], ['KNG', 'Kingston'], ['MIK', 'Micklefield'], ['LRG', 'Lairg'], ['EPS', 'Epsom'], ['WBQ', 'Warrington Bank Quay'], ['CUW', 'Clunderwen'], ['DTG', 'Dinting'], ['ACT', 'Ascot'], ['BID', 'Bidston'], ['BWG', 'Bowling'], ['BMP', 'Brampton (Cumbria)'], ['CLT', 'Clacton-on-Sea'], ['BCH', 'Birchington-on-Sea'], ['BEF', 'Benfleet'], ['HMS', 'Helmsdale'], ['KEY', 'Keyham'], ['MOS', 'Moss Side'], ['PTK', 'Partick'], ['SGN', 'South Greenford'], ['SOR', 'Sole Street'], ['DBD', 'Denby Dale'], ['BSP', 'Brondesbury Park'], ['SEE', 'Southease'], ['CNR', 'Crianlarich'], ['CRT', 'Chartham'], ['SUG', 'Sugar Loaf'], ['HGM', 'Higham'], ['WNG', 'Waun-gron Park'], ['DUM', 'Dumbreck'], ['PMR', 'Peckham Rye'], ['CRB', 'Corbridge'], ['NFA', 'North Fambridge'], ['AGV', 'Abergavenny'], ['HAG', 'Hagley'], ['CEL', 'Chelford'], ['HGD', 'Hungerford'], ['BWN', 'Bloxwich North'], ['KVD', 'Kelvindale'], ['RUS', 'Ruswarp'], ['CLV', 'Claverdon'], ['RNH', 'Rainhill'], ['EWW', 'Ewell West'], ['HHY', 'Highbury & Islington'], ['APP', 'Appleby'], ['HKN', 'Hucknall'], ['MSN', 'Marsden'], ['TPC', 'Thorpe Culvert'], ['EWE', 'Ewell East'], ['GTN', 'Grangetown'], ['LEO', 'Leominster'], ['DOL', 'Dolau'], ['CUH', 'Curriehill'], ['KBK', 'Kents Bank'], ['DPS', 'Dublin Port (Stena)'], ['PAI', 'Pallion (T & W Metro)'], ['MCB', 'Moulsecoomb'], ['NMT', 'Needham Market'], ['WFI', 'Westerfield'], ['SCG', 'Stone Crossing'], ['STR', 'Stranraer'], ['ZWA', 'Waterloo Underground'], ['PIL', 'Pilning'], ['SWD', 'Swinderby'], ['MSK', 'Marske'], ['TRN', 'Troon'], ['WID', 'Widnes'], ['KMS', 'Kemsing'], ['STZ', 'St Peters (T & W Metro)'], ['ANF', 'Ashurst New Forest'], ['WTN', 'Whitton'], ['ANL', 'Anniesland'], ['SCS', 'Starcross'], ['FRB', 'Fairbourne'], ['STK', 'Stockton'], ['BEV', 'Beverley'], ['KKM', 'Kirkham & Wesham'], ['PDW', 'Paddock Wood'], ['CAN', 'Carnoustie'], ['STC', 'Strathcarron'], ['CUF', 'Cuffley'], ['MTP', 'Montpelier'], ['SWM', 'Swanscombe'], ['CBE', 'Canterbury East'], ['DMF', 'Dumfries'], ['HNT', 'Huntly'], ['LLT', 'Llanbister Road'], ['WAT', 'London Waterloo'], ['MEW', 'Maesteg (Ewenny Road)'], ['SUT', 'Sutton Coldfield'], ['LDS', 'Leeds'], ['BNM', 'Burnham'], ['BEL', 'Beauly'], ['HXM', 'Hoveton & Wroxham'], ['HDL', 'Headstone Lane'], ['LEY', 'Leyland'], ['PRE', 'Preston'], ['SNY', 'Sunnymeads'], ['RNF', 'Rainford'], ['EGN', 'Eastrington'], ['KGH', 'Kinghorn'], ['MAT', 'Matlock'], ['NCK', 'New Cumnock'], ['NWP', 'Newport (South Wales)'], ['QPW', 'Queens Park (London)'], ['MSD', 'Moorside'], ['WLM', 'Williamwood'], ['DWD', 'Dolwyddelan'], ['WTL', 'Whitland'], ['MPK', 'Mosspark'], ['MAU', 'Mauldeth Road'], ['HEX', 'Hexham'], ['CLI', 'Clifton'], ['SYD', 'Sydenham'], ['LAD', 'Ladywell'], ['CTM', 'Chatham'], ['SWY', 'Sway'], ['TRU', 'Truro'], ['DLY', 'Dalry'], ['PRP', 'Preston Park'], ['BPB', 'Blackpool Pleasure Beach'], ['LHO', 'Langho'], ['SPS', 'Stepps'], ['TOP', 'Topsham'], ['BIA', 'Bishop Auckland'], ['HTH', 'Handforth'], ['MRT', 'Moreton (Merseyside)'], ['MCH', 'March'], ['TDU', 'Tondu'], ['BCS', 'Bicester North'], ['NMP', 'Northampton'], ['ALP', 'Althorpe'], ['BSE', 'Bury St Edmunds'], ['PTR', 'Petersfield'], ['BUC', 'Buckenham'], ['KLY', 'Kenley'], ['ELW', 'Eltham'], ['WHA', 'Westenhanger'], ['WWL', 'Whitwell'], ['EDW', 'East Dulwich'], ['NRD', 'North Road'], ['BTE', 'Bitterne'], ['IMW', 'Imperial Wharf'], ['ANN', 'Annan'], ['BDN', 'Brading'], ['CES', 'Cressing'], ['KBW', 'Knebworth'], ['DAR', 'Darlington'], ['HWD', 'Hawarden'], ['TAD', 'Tadworth'], ['BAG', 'Bagshot'], ['ZHS', 'Kensington High St Underground'], ['SMD', 'Stamford'], ['BUD', 'Burneside'], ['DOT', 'Dunston'], ['ELS', 'Elstree & Borehamwood'], ['CHF', 'Church Fenton'], ['HAZ', 'Hazel Grove'], ['KMH', 'Kempston Hardwick'], ['SOF', 'South Woodham Ferrers'], ['NRW', 'Norwich'], ['AHS', 'Ashurst'], ['FZW', 'Fitzwilliam'], ['MIN', 'Milliken Park'], ['RUN', 'Runcorn'], ['WSL', 'Walsall'], ['OKM', 'Oakham'], ['WAT', 'London Waterloo'], ['AYP', 'Albany Park'], ['MST', 'Maesteg'], ['KNU', 'Knucklas'], ['LEI', 'Leicester'], ['WAT', 'London Waterloo'], ['WCR', 'Whitecraigs'], ['MRP', 'Moorthorpe'], ['SNH', 'St Helens Central'], ['CAO', 'Cannock'], ['RAI', 'Rainham (Kent)'], ['RKT', 'Ruskington'], ['YOK', 'Yoker'], ['BDT', 'Bridlington'], ['LDN', 'Llandanwg'], ['SHJ', 'St Helens Junction'], ['CHH', 'Christs Hospital'], ['CMF', 'Cromford'], ['HYR', 'Haydons Road'], ['LGN', 'Longton'], ['BXH', 'Bexleyheath'], ['CPM', 'Chippenham'], ['DFR', 'Drumfrochar'], ['NCO', 'Newcourt'], ['WET', 'Weeton'], ['EMD', 'East Midlands Parkway'], ['POP', 'Poppleton'], ['AYH', 'Aylesham'], ['ZUM', 'Upminster Underground'], ['CHD', 'Chesterfield'], ['HEZ', 'Heworth (T & W Metro)'], ['PRB', 'Prestbury'], ['GTR', 'Goostrey'], ['ACK', 'Acklington'], ['KNL', 'Kensal Green'], ['SAN', 'Sandown'], ['THL', 'Tile Hill'], ['SIP', 'Shipton'], ['SFA', 'Stratford International'], ['UPW', 'Upwey'], ['GIP', 'Gipsy Hill'], ['RUT', 'Rutherglen'], ['SES', 'South Elmsall'], ['TGM', 'Teignmouth'], ['ADS', 'Ardrossan Harbour'], ['BCG', 'Birchgrove'], ['RFD', 'Rochford'], ['PES', 'Pensarn'], ['BAI', 'Blairhill'], ['TLB', 'Talybont'], ['SVG', 'Stevenage'], ['WPE', 'Wapping'], ['BDG', 'Bridgeton'], ['THH', 'Thatto Heath'], ['ATB', 'Attenborough'], ['MTH', 'Motherwell'], ['WKM', 'Wokingham'], ['GMT', 'Grosmont'], ['ARL', 'Arlesey'], ['BGD', 'Bargoed'], ['REE', 'Reedham (Norfolk)'], ['HPA', 'Honor Oak Park'], ['NUN', 'Nuneaton'], ['TRM', 'Trimley'], ['WTY', 'Witley'], ['SWO', 'Snowdown'], ['MDB', 'Maidstone Barracks'], ['ENL', 'Enfield Lock'], ['MIJ', 'Mitcham Junction'], ['MDE', 'Maidstone East'], ['GOD', 'Godalming'], ['HGR', 'Hither Green'], ['SPO', 'Spondon'], ['WNT', 'Wandsworth Town'], ['ECR', 'East Croydon'], ['CLS', 'Chester-le-Street'], ['QYD', 'Quakers Yard'], ['WBC', 'Waterbeach'], ['NES', 'Neston'], ['PCN', 'Paisley Canal'], ['WSA', 'West Allerton'], ['SFI', 'Shawfair'], ['SLH', 'Sleights'], ['HTN', 'Hatton'], ['KIV', 'Kiveton Bridge'], ['RIS', 'Rishton'], ['DMS', 'Dormans'], ['LCN', 'Lincoln Central'], ['AYP', 'Albany Park'], ['ERI', 'Eridge'], ['WLC', 'Waltham Cross'], ['MPT', 'Morpeth'], ['MDW', 'Maidstone West'], ['WEL', 'Wellingborough'], ['HRY', 'Harringay Green Lanes'], ['MOB', 'Mobberley'], ['SWL', 'Swale'], ['ECC', 'Eccles'], ['HEW', 'Heworth'], ['LLH', 'Llangennech'], ['BKO', 'Brookwood'], ['GSY', 'Guiseley'], ['SBY', 'Selby'], ['WSB', 'Westbury'], ['ETC', 'Etchingham'], ['BLT', 'Blantyre'], ['SSD', 'Stansted Airport'], ['DOR', 'Dore'], ['NVR', 'Navigation Road'], ['CFF', 'Croftfoot'], ['CKN', 'Crewkerne'], ['GLT', 'Glenrothes with Thornton'], ['WTG', 'Watlington'], ['BAN', 'Banbury'], ['HYS', 'Hayes (Kent)'], ['BHR', 'Builth Road'], ['KND', 'Kingswood'], ['KNN', 'Kings Norton'], ['WOL', 'Wolverton'], ['WTO', 'Water Orton'], ['ADR', 'Airdrie'], ['LLC', 'Llandecwyn'], ['PKS', 'Parkstone (Dorset)'], ['GOM', 'Gomshall'], ['TYL', 'Tyndrum Lower'], ['BOP', 'Bowes Park'], ['HRY', 'Harringay Green Lanes'], ['HER', 'Hersham'], ['WRH', 'Worthing'], ['BON', 'Bolton'], ['BOA', 'Bradford-on-Avon'], ['CFH', 'Chafford Hundred'], ['UTY', 'Upper Tyndrum'], ['NAR', 'Narberth'], ['BDL', 'Birkdale'], ['HMT', 'Ham Street'], ['MKM', 'Melksham'], ['AUW', 'Ascott-under-Wychwood'], ['EAL', 'Ealing Broadway'], ['EAL', 'Ealing Broadway'], ['WTB', 'Whitby'], ['CST', 'London Cannon Street'], ['DWN', 'Darwen'], ['BLE', 'Bramley (West Yorkshire)'], ['AAP', 'Alexandra Palace'], ['NUF', 'Nutfield'], ['STG', 'Stirling'], ['HON', 'Honiton'], ['BPW', 'Bristol Parkway'], ['KIT', 'Kintbury'], ['RAD', 'Radley'], ['MCE', 'Metro Centre'], ['SNT', 'Stanlow & Thornton'], ['BYD', 'Barry Docks'], ['DAM', 'Dalmeny'], ['FIN', 'Finstock'], ['BMT', 'Bedminster'], ['HSL', 'Haslemere'], ['CET', 'Colchester Town'], ['HDG', 'Heald Green'], ['PNR', 'Penrith'], ['MHM', 'Merstham'], ['HSC', 'Hoscar'], ['SNO', 'St Neots'], ['BGM', 'Bellingham'], ['NTL', 'Netley'], ['HYH', 'Hythe'], ['RDC', 'Redditch'], ['LTK', 'Little Kimble'], ['FOD', 'Ford'], ['CLJ', 'Clapham Junction'], ['HON', 'Honiton'], ['CLJ', 'Clapham Junction'], ['PNW', 'Penge West'], ['WFJ', 'Watford Junction'], ['HCH', 'Holmes Chapel'], ['LVN', 'Littlehaven'], ['BTL', 'Batley'], ['ZET', 'Earl\\'s Court Underground'], ['WDL', 'Woodhall'], ['BLX', 'Bloxwich'], ['HLS', 'Hilsea'], ['MKT', 'Marks Tey'], ['OKE', 'Okehampton'], ['HWY', 'High Wycombe'], ['SYT', 'Somerleyton'], ['MRY', 'Maryport'], ['SDY', 'Sandy'], ['CLJ', 'Clapham Junction'], ['CEF', 'Chapel-en-le-Frith'], ['LTP', 'Littleport'], ['KPT', 'Kilpatrick'], ['WDD', 'Widdrington'], ['WHM', 'Whimple'], ['CIT', 'Chislehurst'], ['PFR', 'Pontefract Baghill'], ['BKC', 'Birkenhead Central'], ['HOY', 'Honley'], ['INC', 'Ince'], ['CLJ', 'Clapham Junction'], ['GRC', 'Great Chesterford'], ['IPS', 'Ipswich'], ['WCB', 'Westcombe Park'], ['CLJ', 'Clapham Junction'], ['LYP', 'Lymington Pier'], ['CTF', 'Catford'], ['CTE', 'Chatelherault'], ['FWY', 'Five Ways'], ['NDL', 'North Dulwich'], ['BWO', 'Bricket Wood'], ['BKN', 'Birkenhead North'], ['SOW', 'Sowerby Bridge'], ['BTY', 'Bentley (Hampshire)'], ['KLD', 'Kildale'], ['NQY', 'Newquay'], ['SCA', 'Scarborough'], ['BEG', 'Beltring'], ['BKP', 'Birkenhead Park'], ['CLJ', 'Clapham Junction'], ['GLO', 'Glossop'], ['GRH', 'Gartcosh'], ['TUT', 'Tutbury & Hatton'], ['BCE', 'Bracknell'], ['NNT', 'Nunthorpe'], ['ZNP', 'Newbury Park Underground'], ['SND', 'Sandhurst'], ['FSB', 'Fishbourne (West Sussex)'], ['SLW', 'Salwick'], ['DIG', 'Digby & Sowton'], ['EDG', 'Edge Hill'], ['INH', 'Invershin'], ['BTB', 'Barnetby'], ['SJN', 'St James (T & W Metro)'], ['SUY', 'Sudbury'], ['AIG', 'Aigburth'], ['ELR', 'Elsecar'], ['SGB', 'Smethwick Galton Bridge'], ['HYL', 'Hayle'], ['KEM', 'Kemble'], ['WIM', 'Wimbledon'], ['SAS', 'St Annes-on-the-Sea'], ['SHM', 'Sheringham'], ['WRL', 'Wetheral'], ['SUP', 'Sundridge Park'], ['AWM', 'Ashwell & Morden'], ['BUY', 'Burley Park'], ['ABA', 'Aberdare'], ['CRO', 'Croy'], ['DAT', 'Datchet'], ['LGS', 'Langside'], ['WDM', 'Windermere'], ['GMY', 'Goodmayes'], ['BDQ', 'Bradford Forster Square'], ['SOH', 'South Hampstead'], ['GPK', 'Grange Park'], ['EDP', 'Edinburgh Park'], ['NWB', 'North Wembley'], ['NWE', 'Newport (Essex)'], ['CYT', 'Cherry Tree'], ['HUY', 'Huyton'], ['SFN', 'Shifnal'], ['TOM', 'Tottenham Hale'], ['CDI', 'Crediton'], ['HUT', 'Hutton Cranswick'], ['ABW', 'Abbey Wood'], ['GDL', 'Godley'], ['RHD', 'Ribblehead'], ['TYP', 'Tynemouth (T & W Metro)'], ['CSO', 'Croston'], ['PHR', 'Penshurst'], ['LAC', 'Lancing'], ['SWS', 'South Wigston'], ['BUX', 'Buxton'], ['MLD', 'Mouldsworth'], ['FLE', 'Fleet'], ['MKR', 'Market Rasen'], ['LEG', 'Lea Green'], ['CMH', 'Cwmbach'], ['TMC', 'Templecombe'], ['TWI', 'Twickenham'], ['WEE', 'Weeley'], ['HID', 'Hall I\\' Th\\' Wood'], ['TTF', 'Thetford'], ['DLH', 'Doleham'], ['BTF', 'Bottesford'], ['JOR', 'Jordanhill'], ['TIL', 'Tilbury Town'], ['BMR', 'Bromborough Rake'], ['DPD', 'Dorking Deepdene'], ['BUT', 'Burton-on-Trent'], ['LEO', 'Leominster'], ['FRN', 'Fearn'], ['SPK', 'Sutton Parkway'], ['STL', 'Southall'], ['VXH', 'Vauxhall'], ['ALM', 'Alnmouth'], ['HMN', 'Homerton'], ['PNS', 'Penistone'], ['DFP', 'Dublin Ferryport'], ['SED', 'Shelford'], ['MLB', 'Millbrook (Bedfordshire)'], ['WWR', 'Wandsworth Road'], ['WBR', 'Whaley Bridge'], ['CNS', 'Conisbrough'], ['JHN', 'Johnstone'], ['LND', 'Longniddry'], ['STF', 'Stromeferry'], ['BCN', 'Branchton'], ['PET', 'Petts Wood'], ['RSG', 'Rose Grove'], ['SAM', 'Saltmarshe'], ['BNS', 'Barnes'], ['PKG', 'Penkridge'], ['SGB', 'Smethwick Galton Bridge'], ['MUF', 'Manchester United FC'], ['RHY', 'Rhymney'], ['AMR', 'Amersham'], ['KDB', 'Kidbrooke'], ['PLC', 'Pluckley'], ['CSM', 'Castleton Moor'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['TAD', 'Tadworth'], ['GTY', 'Gatley'], ['HWX', 'Heathrow Airport T5 (Bus)'], ['BLK', 'Blackrod'], ['SLK', 'Silkstone Common'], ['BSB', 'Bleasby'], ['AGS', 'Argyle Street'], ['MUI', 'Muirend'], ['SMG', 'St Margarets (London)'], ['MAN', 'Manchester Piccadilly'], ['SEG', 'Selling'], ['PLN', 'Portlethen'], ['BSM', 'Branksome'], ['NLN', 'New Lane'], ['HTO', 'Hightown'], ['BYI', 'Barry Island'], ['HOL', 'Holton Heath'], ['SFL', 'Seaforth & Litherland'], ['SBR', 'Spean Bridge'], ['KGS', 'Kings Sutton'], ['LRB', 'London Road (Brighton)'], ['GSC', 'Gilshochill'], ['MCM', 'Morecambe'], ['STP', 'London St Pancras (Intl)'], ['FGT', 'Faygate'], ['ALD', 'Alderley Edge'], ['COH', 'Crowborough'], ['ANF', 'Ashurst New Forest'], ['OCK', 'Ockendon'], ['ASN', 'Addlestone'], ['CLL', 'Collington'], ['MOT', 'Motspur Park'], ['SDL', 'Sandhills'], ['KKB', 'Kirkby in Ashfield'], ['PAD', 'London Paddington'], ['WOB', 'Woburn Sands'], ['BNI', 'Barnes Bridge'], ['QPW', 'Queens Park (London)'], ['BNY', 'Barnsley'], ['BPN', 'Blackpool North'], ['KWD', 'Kirkwood'], ['SCH', 'Scotstounhill'], ['KNT', 'Kenton'], ['LHD', 'Leatherhead'], ['DRO', 'Dronfield'], ['MRD', 'Morchard Road'], ['CHU', 'Cheadle Hulme'], ['LIC', 'Lichfield City'], ['DSM', 'Darsham'], ['ENF', 'Enfield Town'], ['SSE', 'Shoreham-by-Sea'], ['LGF', 'Longfield'], ['LIP', 'Liphook'], ['ACC', 'Acton Central'], ['NHE', 'New Hythe'], ['GCH', 'Garelochhead'], ['GSN', 'Garston (Hertfordshire)'], ['WRY', 'Wraysbury'], ['RID', 'Ridgmont'], ['KNF', 'Knutsford'], ['STN', 'Stonehaven'], ['WHP', 'West Hampstead Thameslink'], ['DIS', 'Diss'], ['MLG', 'Mallaig'], ['REI', 'Reigate'], ['DNG', 'Dunton Green'], ['LUX', 'Luxulyan'], ['GFD', 'Greenford'], ['GNR', 'Green Road'], ['STH', 'Shepreth'], ['BXW', 'Boxhill & Westhumble'], ['DUD', 'Duddeston'], ['FER', 'Fernhill'], ['CHI', 'Chingford'], ['BKQ', 'Hamilton Square'], ['MUB', 'Musselburgh'], ['ULL', 'Ulleskelf'], ['CLP', 'Clapham High Street'], ['COW', 'Cowdenbeath'], ['GLH', 'Glasshoughton'], ['ATL', 'Attleborough'], ['BIN', 'Bingham'], ['LGO', 'Llangynllo'], ['LRB', 'London Road (Brighton)'], ['WKD', 'Walkden'], ['HRW', 'Harrow & Wealdstone'], ['URM', 'Urmston'], ['CUA', 'Culrain'], ['NBW', 'North Berwick'], ['DMC', 'Drumchapel'], ['EMP', 'Emerson Park'], ['HLE', 'Hillington East'], ['MGN', 'Marston Green'], ['UWL', 'Upper Warlingham'], ['LWM', 'Llantwit Major'], ['ZDE', 'Dagenham East Underground'], ['HIB', 'High Brooms'], ['TQY', 'Torquay'], ['LEU', 'Leuchars'], ['LST', 'London Liverpool Street'], ['ZTG', 'Turnham Green Underground'], ['CDY', 'Cartsdyke'], ['MTC', 'Mitcham Eastfields'], ['HVF', 'Haverfordwest'], ['CSW', 'Chestfield & Swalecliffe'], ['TIR', 'Tir-phil'], ['ERL', 'Earlestown'], ['BGL', 'Bugle'], ['HWM', 'Harlow Mill'], ['SYB', 'Stalybridge'], ['NOA', 'Newton-on-Ayr'], ['FRT', 'Frant'], ['GUI', 'Guide Bridge'], ['HLW', 'Hillington West'], ['MYT', 'Mytholmroyd'], ['BKM', 'Berkhamsted'], ['NEL', 'Nelson'], ['NLT', 'Northolt Park'], ['BES', 'Bescar Lane'], ['BNA', 'Burnage'], ['SRY', 'Shoeburyness'], ['MSR', 'Minster'], ['BNH', 'Barnehurst'], ['DUN', 'Dunbar'], ['LLG', 'Llangadog'], ['PIN', 'Pinhoe'], ['POR', 'Porth'], ['CTR', 'Chester'], ['MCK', 'Marne La Vallee'], ['BUO', 'Bursledon'], ['MDL', 'Middlewood'], ['RHM', 'Reedham (Surrey)'], ['WHD', 'West Hampstead'], ['BDH', 'Bedhampton'], ['ROB', 'Roby'], ['KBF', 'Kirkby-in-Furness'], ['RTR', 'Rochester'], ['STV', 'Stevenston'], ['TIP', 'Tipton'], ['ASB', 'Ardrossan South Beach'], ['DBR', 'Derby Road'], ['LMS', 'Leamington Spa'], ['FSK', 'Fiskerton'], ['HWI', 'Horwich Parkway'], ['WLI', 'Welling'], ['WGC', 'Welwyn Garden City'], ['SOU', 'Southampton Central'], ['RUE', 'Runcorn East'], ['FNH', 'Farnham'], ['SRI', 'Spring Road'], ['TAU', 'Taunton'], ['ALT', 'Altrincham'], ['WDS', 'Woodlesford'], ['LEL', 'Lelant'], ['MNR', 'Manor Road'], ['PPL', 'Pontypool & New Inn'], ['RDG', 'Reading'], ['WNR', 'Windsor & Eton Riverside'], ['SWT', 'Slaithwaite'], ['RCD', 'Rochdale'], ['CYP', 'Crystal Palace'], ['DDG', 'Dorridge'], ['KBX', 'Kirby Cross'], ['SBJ', 'Stourbridge Junction'], ['CRI', 'Cricklewood'], ['WDU', 'West Dulwich'], ['SNN', 'Swinton (Manchester)'], ['BRP', 'Brampton (Suffolk)'], ['COV', 'Coventry'], ['DGL', 'Dingle Road'], ['PYC', 'Pontyclun'], ['LNY', 'Langley'], ['GRP', 'Grove Park'], ['HOU', 'Hounslow'], ['SAE', 'Saltaire'], ['BEH', 'Bedworth'], ['SCY', 'South Croydon'], ['BCY', 'Brockley'], ['AVI', 'Avignon'], ['VIC', 'London Victoria'], ['BWD', 'Birchwood'], ['HWN', 'Harlow Town'], ['VIC', 'London Victoria'], ['FRO', 'Frome'], ['VIC', 'London Victoria'], ['AWT', 'Armathwaite'], ['CAT', 'Caterham'], ['COB', 'Cooden Beach'], ['WVH', 'Wolverhampton'], ['HME', 'Hamble'], ['AUG', 'Aughton Park'], ['BEX', 'Bexhill'], ['ACY', 'Abercynon'], ['CML', 'Carmyle'], ['PBR', 'Potters Bar'], ['TOL', 'Tolworth'], ['APN', 'Newcastle Airport'], ['ADN', 'Ardrossan Town'], ['GDP', 'Gidea Park'], ['SBJ', 'Stourbridge Junction'], ['WIJ', 'Willesden Junction'], ['SDM', 'Shieldmuir'], ['SEV', 'Sevenoaks'], ['FRM', 'Fareham'], ['HNA', 'Hinton Admiral'], ['MRN', 'Marden'], ['MIA', 'Manchester Airport'], ['SBT', 'Stourbridge Town'], ['MAI', 'Maidenhead'], ['BKH', 'Blackheath'], ['BYS', 'Braystones'], ['HGT', 'Harrogate'], ['BIL', 'Billingham'], ['STM', 'St Michaels'], ['BVD', 'Belvedere'], ['LTS', 'Lelant Saltings'], ['LHA', 'Loch Awe'], ['BAD', 'Banstead'], ['INT', 'Ingatestone'], ['MKC', 'Milton Keynes Central'], ['EDR', 'Edmonton Green'], ['BNV', 'Banavie'], ['BTP', 'Braintree Freeport'], ['ROC', 'Roche'], ['CHP', 'Chipstead'], ['FNW', 'Farnworth'], ['TAI', 'Tain'], ['GAL', 'Galashiels'], ['CHG', 'Charing'], ['RMD', 'Richmond'], ['MTN', 'Moreton (Dorset)'], ['COR', 'Corby'], ['SOI', 'Stow'], ['BLG', 'Bellgrove'], ['CNF', 'Carnforth'], ['PST', 'Prestonpans'], ['PKT', 'Park Street'], ['SKS', 'Stocksfield'], ['NRC', 'Newbury Racecourse'], ['PNY', 'Pen-y-bont'], ['EKL', 'East Kilbride'], ['SRU', 'South Ruislip'], ['CDU', 'Cam & Dursley'], ['BRV', 'Bournville'], ['WMS', 'Wemyss Bay'], ['UDD', 'Uddingston'], ['BHD', 'Brithdir'], ['MOR', 'Mortimer'], ['CUM', 'Culham'], ['SDH', 'Sudbury Hill Harrow'], ['STA', 'Stafford'], ['PRL', 'Prittlewell'], ['RDT', 'Radlett'], ['SHP', 'Shepperton'], ['CNP', 'Conway Park'], ['TLK', 'The Lakes'], ['BRX', 'Brixton'], ['MTB', 'Matlock Bath'], ['CLN', 'Chapeltown'], ['KYN', 'Keynsham'], ['NWA', 'North Walsham'], ['BYA', 'Berney Arms'], ['REC', 'Rectory Road'], ['RRB', 'Ryder Brow'], ['SUD', 'Sudbury & Harrow Road'], ['SMN', 'Southminster'], ['YAT', 'Yatton'], ['KSN', 'Kearsney'], ['PTF', 'Pantyffynnon'], ['SWN', 'Swinton (South Yorkshire)'], ['SRN', 'Strines'], ['SWA', 'Swansea'], ['TRR', 'Torre'], ['SSC', 'Seascale'], ['HOT', 'Henley-on-Thames'], ['MVL', 'Malvern Link'], ['ARR', 'Arram'], ['SLT', 'Saltcoats'], ['ANZ', 'Anerley'], ['FPK', 'Finsbury Park'], ['LAN', 'Lancaster'], ['THA', 'Thatcham'], ['BSC', 'Bescot Stadium'], ['MTO', 'Marton'], ['EGG', 'Eggesford'], ['KEH', 'Keith'], ['WCY', 'West Croydon'], ['BOD', 'Bodmin Parkway'], ['HOP', 'Hope (Derbyshire)'], ['HRW', 'Harrow & Wealdstone'], ['WTC', 'Whitchurch (Shropshire)'], ['CHX', 'London Charing Cross'], ['KIR', 'Kirkby'], ['WGA', 'Westgate-on-Sea'], ['WSM', 'Weston-super-Mare'], ['BKS', 'Bekesbourne'], ['AHT', 'Aldershot'], ['DFI', 'Duffield'], ['GIR', 'Girvan'], ['ZBB', 'Barbican Underground'], ['HPE', 'Hope (Flintshire)'], ['CLW', 'Chorleywood'], ['HHL', 'Heath High Level'], ['KKS', 'Kirk Sandall'], ['RDD', 'Riddlesdown'], ['RFY', 'Rock Ferry'], ['ABE', 'Aber'], ['HSK', 'Hassocks'], ['SHT', 'Shotton'], ['LVC', 'Liverpool Central'], ['AIN', 'Aintree'], ['HNG', 'Hengoed'], ['LIS', 'Liss'], ['ARM', 'Armadale'], ['FFA', 'Ffairfach'], ['HCB', 'Hackbridge'], ['LVC', 'Liverpool Central'], ['ELP', 'Ellesmere Port'], ['DYF', 'Dyffryn Ardudwy'], ['TYW', 'Tywyn'], ['CWN', 'Cowden'], ['EGH', 'Egham'], ['RET', 'Retford'], ['HAY', 'Hayes & Harlington'], ['SAT', 'South Acton'], ['PMT', 'Polmont'], ['HPQ', 'Harwich International'], ['WED', 'Wedgwood'], ['BIO', 'Baillieston'], ['WCH', 'Whitchurch (Hampshire)'], ['MNE', 'Manea'], ['SNF', 'Shenfield'], ['ROM', 'Romsey'], ['CHL', 'Chilworth'], ['CDN', 'Coulsdon Town'], ['TLS', 'Thorpe-le-Soken'], ['WRS', 'Wressle'], ['BDY', 'Bredbury'], ['THI', 'Thirsk'], ['WES', 'Westerton'], ['CPU', 'Capenhurst'], ['LRH', 'Larkhall'], ['OLD', 'Old Street'], ['DGT', 'Deansgate'], ['SEM', 'Seamer'], ['SVB', 'Severn Beach'], ['BMC', 'Bromley Cross'], ['SEC', 'Seaton Carew'], ['ZLW', 'Whitechapel'], ['SEE', 'Southease'], ['SOA', 'Southampton Airpt Parkway'], ['WDO', 'Waddon'], ['WTS', 'Whatstandwell'], ['LPY', 'Liverpool South Parkway'], ['HFN', 'Hertford North'], ['KGM', 'Kingham'], ['WFL', 'Wainfleet'], ['SKN', 'St Keyne Wishing Well Halt'], ['DPT', 'Devonport'], ['SOW', 'Sowerby Bridge'], ['WDU', 'West Dulwich'], ['BCB', 'Burscough Bridge'], ['HST', 'High Street'], ['LEM', 'Leyton Midland Road'], ['PYL', 'Pyle'], ['WRU', 'West Ruislip'], ['WYB', 'Weybridge'], ['TAB', 'Tame Bridge Parkway'], ['TRE', 'Trefforest Estate'], ['WYB', 'Weybridge'], ['HND', 'Hanborough'], ['WLW', 'Welwyn North'], ['BMO', 'Birmingham Moor Street'], ['BCJ', 'Burscough Junction'], ['DCW', 'Dorchester West'], ['LVJ', 'James Street'], ['RDF', 'Radcliffe (Nottinghamshire)'], ['CPY', 'Clapham (North Yorkshire)'], ['RMF', 'Romford'], ['SAV', 'Stratford-upon-Avon'], ['LHW', 'Lochwinnoch'], ['NOT', 'Nottingham'], ['CUD', 'Cuddington'], ['LLA', 'Llanaber'], ['SNE', 'Stone'], ['SHL', 'Shawlands'], ['FFD', 'Freshford'], ['SHF', 'Sheffield'], ['YRK', 'York'], ['CSD', 'Cobham & Stoke d\\'Abernon'], ['ENT', 'Entwistle'], ['PRN', 'Parton'], ['ROL', 'Rolleston'], ['BRH', 'Borth'], ['BCV', 'Bruce Grove'], ['SMR', 'Smethwick Rolfe Street'], ['ACN', 'Achnasheen'], ['KWB', 'Kew Bridge'], ['SAR', 'St Andrews Road'], ['ASF', 'Ashfield'], ['FLM', 'Flimby'], ['LBT', 'Larbert'], ['WOR', 'Worle'], ['CWL', 'Colwall'], ['EXC', 'Exeter Central'], ['NTB', 'Norton Bridge'], ['TWY', 'Twyford'], ['ROR', 'Rogerstone'], ['BDI', 'Bradford Interchange'], ['WNL', 'Whinhill'], ['BLA', 'Blair Atholl'], ['KML', 'Kemsley'], ['SDR', 'Saunderton'], ['GRK', 'Gourock'], ['VXH', 'Vauxhall'], ['FTW', 'Fort William'], ['LIT', 'Littlehampton'], ['SIV', 'St Ives'], ['BLD', 'Baildon'], ['GLM', 'Gillingham (Kent)'], ['SHS', 'Shotts'], ['UCK', 'Uckfield'], ['BTG', 'Barnt Green'], ['BOM', 'Bromborough'], ['ACH', 'Achnashellach'], ['UHA', 'Uphall'], ['VXH', 'Vauxhall'], ['DIN', 'Dingwall'], ['HDW', 'Hadley Wood'], ['SOB', 'Southbourne'], ['LEE', 'Lee'], ['QBR', 'Queenborough'], ['LOC', 'Lockerbie'], ['SMA', 'Small Heath'], ['WDB', 'Woodbridge'], ['HIR', 'Horton-in-Ribblesdale'], ['PON', 'Ponders End'], ['FRI', 'Frinton-on-Sea'], ['SAL', 'Salisbury'], ['SRH', 'Streatham Hill'], ['CRK', 'Chirk'], ['EXR', 'Essex Road'], ['HOK', 'Hook'], ['SML', 'Sea Mills'], ['HLY', 'Holytown'], ['NWD', 'Norwood Junction'], ['ASY', 'Ashley'], ['ESW', 'Elmswell'], ['HOH', 'Harrow-on-the-Hill'], ['AGR', 'Angel Road'], ['NSD', 'Newstead'], ['HUL', 'Hull'], ['HLL', 'Heath Low Level'], ['PBL', 'Parbold'], ['JOH', 'Johnston'], ['SMB', 'Smithy Bridge'], ['NSH', 'North Sheen'], ['UPL', 'Upholland'], ['BGE', 'Broad Green'], ['CBY', 'Charlbury'], ['WME', 'Woodmansterne'], ['LAR', 'Largs'], ['MMO', 'Melton Mowbray'], ['LIN', 'Linlithgow'], ['WDT', 'West Drayton'], ['HFE', 'Hertford East'], ['KET', 'Kettering'], ['PUL', 'Pulborough'], ['QRB', 'Queenstown Road Battersea'], ['WMB', 'Wembley Central'], ['BRG', 'Borough Green & Wrotham'], ['GEA', 'Gretna Green'], ['KPA', 'Kensington Olympia'], ['CIM', 'Cilmeri'], ['SWR', 'Stewartby'], ['CMO', 'Camelon'], ['GLQ', 'Glasgow Queen Street'], ['BSU', 'Brunstane'], ['IFI', 'Ifield'], ['ARN', 'Arnside'], ['FRW', 'Fairwater'], ['LKE', 'Lake'], ['CTL', 'Cattal'], ['DMH', 'Dilton Marsh'], ['WWD', 'Woolwich Dockyard'], ['BTS', 'Burntisland'], ['HSW', 'Heswall'], ['KEL', 'Kelvedon'], ['DBL', 'Dunblane'], ['NLR', 'North Llanrwst'], ['HUB', 'Hunmanby'], ['SAF', 'Salfords'], ['WNE', 'Wilnecote'], ['QPK', 'Queens Park (Glasgow)'], ['WTM', 'Witham'], ['AVP', 'Aylesbury Vale Parkway'], ['PTD', 'Pontarddulais'], ['RDG', 'Reading'], ['EXM', 'Exmouth'], ['SNW', 'Swanwick'], ['FCN', 'Falconwood'], ['GOO', 'Goole'], ['LBO', 'Loughborough'], ['HSB', 'Helsby'], ['SHD', 'Shildon'], ['TAY', 'Taynuilt'], ['SNS', 'Staines'], ['CBW', 'Canterbury West'], ['EGF', 'East Garforth'], ['AUR', 'Aberdour'], ['DKG', 'Dorking'], ['GAR', 'Garrowhill'], ['HUN', 'Huntingdon'], ['LLY', 'Llwynypia'], ['SAY', 'Swanley'], ['TTH', 'Thornton Heath'], ['LSK', 'Liskeard'], ['LSW', 'Leasowe'], ['PMP', 'Plumpton'], ['WKK', 'Wakefield Kirkgate'], ['RFY', 'Rock Ferry'], ['DDK', 'Dagenham Dock'], ['HPN', 'Hapton'], ['LNB', 'Llanbradach'], ['BAD', 'Banstead'], ['BIT', 'Bicester Village'], ['MBR', 'Middlesbrough'], ['AAT', 'Achanalt'], ['HIP', 'Highams Park'], ['SIN', 'Singer'], ['TYG', 'Tygwyn'], ['CUP', 'Cupar'], ['FKC', 'Folkestone Central'], ['SIL', 'Sileby'], ['ESM', 'Elsenham'], ['EPD', 'Epsom Downs'], ['HBP', 'Hornbeam Park'], ['HOZ', 'Howwood'], ['RFY', 'Rock Ferry'], ['MEP', 'Meopham'], ['SWG', 'Swaythling'], ['AVM', 'Aviemore'], ['BHK', 'Bush Hill Park'], ['PEA', 'Peartree'], ['WNN', 'Wennington'], ['AYL', 'Aylesford'], ['PIT', 'Pitlochry'], ['OVE', 'Overpool'], ['ZCO', 'Croxley Underground'], ['GYM', 'Great Yarmouth'], ['CPK', 'Carpenders Park'], ['GLC', 'Glasgow Central'], ['LAS', 'Llansamlet'], ['SPN', 'Spooner Row'], ['FKW', 'Folkestone West'], ['KBC', 'Kinbrace'], ['AND', 'Anderston'], ['ZCW', 'Canada Water'], ['DON', 'Doncaster'], ['EAR', 'Earley'], ['CTN', 'Charlton'], ['ZFD', 'Farringdon Underground'], ['SBF', 'St Budeaux Ferry Road'], ['PCD', 'Pencoed'], ['LBG', 'London Bridge'], ['MZH', 'Maze Hill'], ['WTI', 'Winnersh Triangle'], ['HPD', 'Harpenden'], ['SHT', 'Shotton'], ['LBG', 'London Bridge'], ['NRT', 'Nethertown'], ['LBG', 'London Bridge'], ['HMY', 'Hairmyres'], ['HHB', 'Heysham Port'], ['PSH', 'Pershore'], ['PAN', 'Pangbourne'], ['CLU', 'Carluke'], ['SOC', 'Southend Central'], ['MFF', 'Minffordd'], ['BRF', 'Brierfield'], ['COT', 'Cottingley'], ['PTB', 'Pentre-bach'], ['SKG', 'Skegness'], ['INS', 'Insch'], ['EXN', 'Exton'], ['LOO', 'Looe'], ['WWA', 'Woolwich Arsenal'], ['CLK', 'Clock House'], ['BPT', 'Bishopton'], ['BAS', 'Bere Alston'], ['LCS', 'Locheilside'], ['MEV', 'Merthyr Vale'], ['BDH', 'Bedhampton'], ['SDE', 'Shadwell'], ['STP', 'London St Pancras (Intl)'], ['WEH', 'West Ham'], ['HUP', 'Humphrey Park'], ['BTO', 'Betchworth'], ['EVE', 'Evesham'], ['SEF', 'Seaford'], ['ALR', 'Alresford'], ['HNL', 'Henley-in-Arden'], ['SRL', 'Shirley'], ['BFF', 'Blaenau Ffestiniog'], ['FNN', 'Farnborough North'], ['NLW', 'Newton-le-Willows'], ['YAL', 'Yalding'], ['BMH', 'Bournemouth'], ['LHM', 'Lealholm'], ['TVP', 'Tiverton Parkway'], ['BIW', 'Biggleswade'], ['WLS', 'Woolston'], ['BIP', 'Bishopstone'], ['EBV', 'Ebbw Vale Parkway'], ['NNG', 'Newark North Gate'], ['PHG', 'Penhelig'], ['MNG', 'Manningtree'], ['TAT', 'Tattenham Corner'], ['MEN', 'Menheniot'], ['FSB', 'Fishbourne (West Sussex)'], ['CNN', 'Canonbury'], ['HRO', 'Harold Wood'], ['BKJ', 'Beckenham Junction'], ['NFN', 'Nafferton'], ['BNO', 'Benton (T & W Metro)'], ['GRV', 'Gravesend'], ['NBY', 'Newbury'], ['SDC', 'Shoreditch High Street'], ['AXP', 'Alexandra Parade'], ['FXN', 'Foxton'], ['MTS', 'Montrose'], ['BTN', 'Brighton'], ['RDG', 'Reading'], ['CIR', 'Caledonian Rd & Barnsbury'], ['TAL', 'Talsarnau'], ['CWN', 'Cowden'], ['NLS', 'Nailsea & Backwell'], ['WNH', 'Warnham'], ['HWB', 'Hawarden Bridge'], ['LLN', 'Llandaf'], ['NRB', 'Norbury'], ['CSY', 'Coseley'], ['LLL', 'Llandeilo'], ['RIC', 'Rickmansworth'], ['WMB', 'Wembley Central'], ['ADV', 'Andover'], ['PFL', 'Purfleet'], ['SWE', 'Swineshead'], ['SHB', 'Shirebrook'], ['DFD', 'Dartford'], ['HAN', 'Hanwell'], ['NUT', 'Nutbourne'], ['MLW', 'Marlow'], ['WBL', 'Warblington'], ['RHI', 'Rhiwbina'], ['DEP', 'Deptford'], ['CUB', 'Cumbernauld'], ['HCN', 'Headcorn'], ['LAW', 'Landywood'], ['THC', 'Thurnscoe'], ['CNO', 'Chetnole'], ['COI', 'Crosshill'], ['SHW', 'Shawford'], ['BAJ', 'Baglan'], ['SUR', 'Surbiton'], ['AUK', 'Auchinleck'], ['KTL', 'Kirton Lindsey'], ['LID', 'Lidlington'], ['CDR', 'Cardross'], ['SYL', 'Syon Lane'], ['HYT', 'Hyde North'], ['LAI', 'Laindon'], ['HOX', 'Hoxton'], ['LEW', 'Lewisham'], ['BSK', 'Basingstoke'], ['CRW', 'Crawley'], ['GBS', 'Goring-by-Sea'], ['WHS', 'Whyteleafe South'], ['MHR', 'Market Harborough'], ['ERD', 'Erdington'], ['GST', 'Gathurst'], ['LGG', 'Langley Green'], ['OVR', 'Overton'], ['NEH', 'New Eltham'], ['SDN', 'St Denys'], ['MTG', 'Mottingham'], ['WTR', 'Wateringbury'], ['CDB', 'Cardiff Bay'], ['FNT', 'Feniton'], ['BLP', 'Belper'], ['HSG', 'Hathersage'], ['HVH', 'Hoek Van Holland'], ['DVN', 'Davenport'], ['LWH', 'Lawrence Hill'], ['WCK', 'Wick'], ['BMB', 'Bamber Bridge'], ['DRI', 'Drigg'], ['TWN', 'Town Green'], ['CHE', 'Cheam'], ['SAX', 'Saxmundham'], ['MAG', 'Maghull'], ['SBE', 'Starbeck'], ['MCN', 'Machynlleth'], ['CBC', 'Coatbridge Central'], ['BYL', 'Barry Links'], ['BEM', 'Bempton'], ['SFR', 'Shalford'], ['BIC', 'Billericay'], ['BTR', 'Braintree'], ['ISL', 'Isleworth'], ['HLN', 'Harlington'], ['SSM', 'Stocksmoor'], ['GMN', 'Great Missenden'], ['KNE', 'Kennett'], ['POO', 'Poole'], ['RNR', 'Roughton Road'], ['ILK', 'Ilkley'], ['PMH', 'Portsmouth Harbour'], ['RDA', 'Redland'], ['FRS', 'Forsinard'], ['HRN', 'Hornsey'], ['SLY', 'Selly Oak'], ['OXT', 'Oxted'], ['CBS', 'Coatbridge Sunnyside'], ['WMD', 'Wymondham'], ['TEY', 'Teynham'], ['BAV', 'Barrow Haven'], ['BYE', 'Bynea'], ['WKB', 'West Kilbride'], ['BCU', 'Brockenhurst'], ['AMT', 'Aldermaston'], ['LGB', 'Langbank'], ['MRF', 'Moorfields'], ['PMH', 'Portsmouth Harbour'], ['ROO', 'Roose'], ['KIL', 'Kildonan'], ['BHC', 'Balloch'], ['WIV', 'Wivenhoe'], ['BTT', 'Battersby'], ['CCT', 'Cathcart'], ['HRL', 'Harlech'], ['RGW', 'Ramsgreave & Wilpshire'], ['WVF', 'Wivelsfield'], ['SAJ', 'St Johns'], ['WDH', 'Woodhouse'], ['FOG', 'Forest Gate'], ['HTF', 'Hartford'], ['WNW', 'West Norwood'], ['CSG', 'Cressington'], ['SHU', 'Stonehouse'], ['WDN', 'Walsden'], ['SAC', 'St Albans'], ['WFF', 'Whifflet'], ['HOW', 'Howden'], ['MLY', 'Morley'], ['ASG', 'Alsager'], ['LOB', 'Longbridge'], ['WOM', 'Wombwell'], ['MSH', 'Mossley Hill'], ['ECP', 'Energlyn & Churchill Park'], ['EPH', 'Elephant & Castle'], ['RDW', 'Reading West'], ['EKB', 'Eskbank'], ['BRU', 'Bruton'], ['CME', 'Combe'], ['MIH', 'Mills Hill'], ['PPD', 'Pontypridd'], ['SAD', 'Sandwell & Dudley'], ['KGT', 'Kilgetty'], ['BRI', 'Bristol Temple Meads'], ['HOC', 'Hockley'], ['LBR', 'Llanbedr'], ['NSG', 'New Southgate'], ['DGC', 'Denham Golf Club'], ['PNM', 'Penmere'], ['MHS', 'Meadowhall'], ['PSL', 'Port Sunlight'], ['DWW', 'Dawlish Warren'], ['RTN', 'Renton'], ['BUJ', 'Burton Joyce'], ['HUR', 'Hurst Green'], ['BDK', 'Baldock'], ['LNY', 'Langley'], ['BSH', 'Bushey'], ['DOW', 'Downham Market'], ['KIN', 'Kingussie'], ['BLO', 'Blaydon'], ['DVY', 'Dovey Junction'], ['BWS', 'Barrow Upon Soar'], ['SGL', 'South Gyle'], ['WHT', 'Whitchurch (Glamorgan)'], ['ACB', 'Acton Bridge'], ['ZHA', 'Hammersmith Underground'], ['WRB', 'Wrabness'], ['NQU', 'North Queensferry'], ['TYC', 'Ty Croes'], ['ANC', 'Ancaster'], ['NBN', 'New Brighton'], ['HEC', 'Heckington'], ['QUI', 'Quintrell Downs'], ['WCX', 'Wembley Stadium'], ['LWT', 'Lowestoft'], ['RAN', 'Rannoch'], ['THU', 'Thurgarton'], ['CSK', 'Calstock'], ['MER', 'Merthyr Tydfil'], ['NEI', 'Neilston'], ['CBD', 'Conon Bridge'], ['DNO', 'Dunrobin Castle'], ['HUD', 'Huddersfield'], ['SKW', 'Stoke Newington'], ['ARG', 'Arisaig'], ['CNW', 'Conwy'], ['MNN', 'Menston'], ['PLE', 'Pollokshields East'], ['LLO', 'Llandrindod'], ['LAU', 'Laurencekirk'], ['MSL', 'Mossley'], ['SIE', 'Sherburn-in-Elmet'], ['CBH', 'Cambridge Heath'], ['KBN', 'Kilburn High Road'], ['SID', 'Sidcup'], ['FEL', 'Feltham'], ['CCC', 'Criccieth'], ['STO', 'South Tottenham'], ['WOO', 'Wool'], ['GRK', 'Gourock'], ['LLI', 'Llandybie'], ['AXM', 'Axminster'], ['WGV', 'Wargrave'], ['HSD', 'Hamstead'], ['PLW', 'Pollokshields West'], ['BRK', 'Berwick (Sussex)'], ['CTW', 'Church & Oswaldtwistle'], ['XIB', 'Bourg St Maurice'], ['SKI', 'Skipton'], ['BDM', 'Bedford'], ['PLM', 'Plumley'], ['YVJ', 'Yeovil Junction'], ['DEN', 'Dean'], ['DAM', 'Dalmeny'], ['WGN', 'Wigan North Western'], ['WRE', 'Wrenbury'], ['RYN', 'Roydon'], ['YVJ', 'Yeovil Junction'], ['ABH', 'Abererch'], ['UNI', 'University'], ['AMY', 'Amberley'], ['CSB', 'Carshalton Beeches'], ['EFF', 'Effingham Junction'], ['SVK', 'Seven Kings'], ['DEA', 'Deal'], ['WNP', 'Wanstead Park'], ['ALK', 'Aslockton'], ['ULV', 'Ulverston'], ['LIV', 'Liverpool Lime Street'], ['ABC', 'Altnabreac'], ['LAP', 'Lapford'], ['NIT', 'Nitshill'], ['RAM', 'Ramsgate'], ['KNO', 'Knottingley'], ['LIV', 'Liverpool Lime Street'], ['CSH', 'Carshalton'], ['BFE', 'Bere Ferrers'], ['AVY', 'Aberdovey'], ['CBK', 'Cranbrook (Devon)'], ['WLN', 'Wellington (Shropshire)'], ['CGN', 'Cogan'], ['ASC', 'Ashchurch for Tewkesbury'], ['AVF', 'Avoncliff'], ['CBP', 'Castle Bar Park'], ['GSL', 'Gunnislake'], ['HMC', 'Hampton Court'], ['PLY', 'Plymouth'], ['CLA', 'Clandon'], ['CNE', 'Colne'], ['NXG', 'New Cross Gate'], ['CIL', 'Chilham'], ['FLI', 'Flixton'], ['NWX', 'New Cross'], ['BMY', 'Bramley (Hampshire)'], ['CWS', 'Caersws'], ['BHO', 'Blackhorse Road'], ['CFT', 'Crofton Park'], ['GLS', 'Glaisdale'], ['WMI', 'Wildmill'], ['AST', 'Aston'], ['CDT', 'Caldicot'], ['ESD', 'Elmstead Woods'], ['KLN', 'Kings Lynn'], ['SLQ', 'St Leonards Warrior Square'], ['PNC', 'Penychain'], ['BUB', 'Burnley Barracks'], ['BNC', 'Burnley Central'], ['AXM', 'Axminster'], ['AXM', 'Axminster'], ['BGS', 'Bogston'], ['BAC', 'Bache'], ['HWW', 'How Wood'], ['BNG', 'Bangor (Gwynedd)'], ['BRM', 'Barmouth'], ['DNL', 'Dunlop'], ['EML', 'East Malling'], ['CMO', 'Camelon'], ['EDY', 'East Didsbury'], ['SPR', 'Springburn'], ['ELE', 'Elmers End'], ['WKI', 'West Kirby'], ['LBZ', 'Leighton Buzzard'], ['WES', 'Westerton'], ['LYD', 'Lydney'], ['PYT', 'Poynton'], ['RCC', 'Redcar Central'], ['CWE', 'Crowle'], ['KNA', 'Knaresborough'], ['RCE', 'Redcar East'], ['BUH', 'Brough'], ['DAN', 'Darnall'], ['WNF', 'Winchfield'], ['WKF', 'Wakefield Westgate'], ['PWY', 'Patchway'], ['DZY', 'Danzey'], ['FLD', 'Fauldhouse'], ['WPL', 'Worplesdon'], ['BSL', 'Beasdale'], ['KKD', 'Kirkdale'], ['EAG', 'Eaglescliffe'], ['CRM', 'Cramlington'], ['SIH', 'St Helier'], ['HBY', 'Hartlebury'], ['COA', 'Coatdyke'], ['CHW', 'Chalkwell'], ['RYS', 'Royston'], ['DVH', 'Dove Holes'], ['HEV', 'Hever'], ['SPA', 'Spalding'], ['BOG', 'Bognor Regis'], ['EUS', 'London Euston'], ['FRL', 'Fairlie'], ['EDB', 'Edinburgh'], ['MRR', 'Morar'], ['WSH', 'Wishaw'], ['CPW', 'Chepstow'], ['SUU', 'Sunbury'], ['HAP', 'Hatfield Peverel'], ['OUN', 'Oulton Broad North'], ['MIC', 'Micheldever'], ['WOF', 'Worcester Foregate Street'], ['WRX', 'Wrexham General'], ['OUS', 'Oulton Broad South'], ['CAK', 'Cark'], ['FRY', 'Ferriby'], ['FOH', 'Forest Hill'], ['STY', 'Stratford Parkway'], ['OLF', 'Oldfield Park'], ['WAL', 'Walton-on-Thames'], ['PTT', 'Patterton'], ['GLQ', 'Glasgow Queen Street'], ['EBA', 'Euxton Balshaw Lane'], ['HLM', 'Holmwood'], ['FAV', 'Faversham'], ['GOL', 'Golspie'], ['KKH', 'Kirkhill'], ['WSR', 'Woodsmoor'], ['CNL', 'Canley'], ['SPT', 'Stockport'], ['WBD', 'Whitley Bridge'], ['HIA', 'Hampton-in-Arden'], ['BLV', 'Belle Vue'], ['DMK', 'Denmark Hill'], ['DWL', 'Dawlish'], ['FLF', 'Flowery Field'], ['DGY', 'Deganwy'], ['SYS', 'Syston'], ['KKN', 'Kirknewton'], ['WBO', 'Wimbledon Chase'], ['ALB', 'Albrighton'], ['BEP', 'Bermuda Park (Nuneaton)'], ['BFN', 'Byfleet & New Haw'], ['SKM', 'Stoke Mandeville'], ['NEM', 'New Malden'], ['SER', 'St Erth'], ['GNL', 'Green Lane'], ['HEI', 'Heighington'], ['OMS', 'Ormskirk'], ['HBN', 'Hollingbourne'], ['COL', 'Colchester'], ['MES', 'Melton'], ['AHV', 'Ash Vale'], ['KRK', 'Kirkconnel'], ['BYN', 'Bryn'], ['CWC', 'Chappel & Wakes Colne'], ['BIK', 'Birkbeck'], ['SWM', 'Swanscombe'], ['AUD', 'Audley End'], ['BRE', 'Brentwood'], ['YOK', 'Yoker'], ['AHS', 'Ashurst'], ['GSW', 'Garswood'], ['SHU', 'Stonehouse'], ['SNR', 'Sanderstead'], ['BRC', 'Breich'], ['HDM', 'Haddenham & Thame Parkway'], ['BAH', 'Bank Hall'], ['PRR', 'Princes Risborough'], ['SYA', 'Styal'], ['GPO', 'Gospel Oak'], ['SLV', 'Silver Street'], ['FZP', 'Furze Platt'], ['MFA', 'Morfa Mawddach'], ['DLG', 'Dolgarrog'], ['CWB', 'Colwyn Bay'], ['HVN', 'Havenhouse'], ['LUT', 'Luton'], ['GIG', 'Giggleswick'], ['KGP', 'Kings Park'], ['RYH', 'Rye House'], ['GOR', 'Goring & Streatley'], ['HFD', 'Hereford'], ['BIG', 'Billingshurst'], ['STJ', 'Severn Tunnel Junction'], ['SAU', 'St Austell'], ['WHS', 'Whyteleafe South'], ['WST', 'Wood Street'], ['LED', 'Ledbury'], ['MRF', 'Moorfields'], ['OLF', 'Oldfield Park'], ['ATN', 'Atherton'], ['BRS', 'Berrylands'], ['WSB', 'Westbury'], ['CYS', 'Cathays'], ['CWD', 'Creswell'], ['LOS', 'Lostwithiel'], ['BHS', 'Brockholes'], ['THT', 'Thorntonhall'], ['DRG', 'Drayton Green'], ['ANS', 'Ainsdale'], ['DYP', 'Drayton Park'], ['KLY', 'Kenley'], ['LEH', 'Lea Hall'], ['LPR', 'Long Preston'], ['SVS', 'Seven Sisters'], ['WWW', 'Wootton Wawen'], ['SHI', 'Shiplake'], ['WML', 'Wilmslow'], ['EDL', 'Edale'], ['FLX', 'Felixstowe'], ['NBR', 'Narborough'], ['PFY', 'Poulton-le-Fylde'], ['PRP', 'Preston Park'], ['COE', 'Coombe Junction Halt'], ['SST', 'Stansted Mountfitchet'], ['WLD', 'West St Leonards'], ['PMW', 'Penmaenmawr'], ['YEO', 'Yeoford'], ['YVP', 'Yeovil Pen Mill'], ['GRF', 'Garforth'], ['MON', 'Monifieth'], ['NOR', 'Normanton'], ['COM', 'Commondale'], ['ZFD', 'Farringdon Underground'], ['ORR', 'Orrell'], ['LOW', 'Lowdham'], ['YVP', 'Yeovil Pen Mill'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['LPG', 'Llanfairpwll'], ['LWR', 'Llanrwst'], ['CRN', 'Crowthorne'], ['JCH', 'James Cook'], ['LLS', 'Llanishen'], ['NCE', 'New Clee'], ['RAY', 'Raynes Park'], ['SAW', 'Sawbridgeworth'], ['WLO', 'Waterloo (Merseyside)'], ['ROE', 'Rotherhithe'], ['HNB', 'Herne Bay'], ['SHY', 'Shipley'], ['MTA', 'Mountain Ash'], ['SJP', 'St James\\' Park'], ['LYC', 'Lympstone Commando'], ['NWM', 'New Milton'], ['WIJ', 'Willesden Junction'], ['FLT', 'Flitwick'], ['BRA', 'Brora'], ['HYN', 'Hyndland'], ['RUF', 'Rufford'], ['PTA', 'Port Talbot Parkway'], ['SMH', 'Stamford Hill'], ['GVE', 'Garve'], ['HTE', 'Hatch End'], ['WSE', 'Winchelsea'], ['DLT', 'Dalton'], ['SPY', 'Shepley'], ['CFL', 'Crossflatts'], ['LIH', 'Leigh (Kent)'], ['LYM', 'Lympstone Village'], ['SOL', 'Solihull'], ['CTH', 'Chadwell Heath'], ['FOK', 'Four Oaks'], ['TRI', 'Tring'], ['BLB', 'Battlesbridge'], ['FAL', 'Falmouth Docks'], ['HPL', 'Hartlepool'], ['OXN', 'Oxenholme Lake District'], ['OTF', 'Otford'], ['OUT', 'Outwood'], ['WLE', 'Whittlesea'], ['SBV', 'St Budeaux Victoria Road'], ['HHY', 'Highbury & Islington'], ['CKS', 'Clarkston'], ['EDN', 'Eden Park'], ['SDP', 'Sandplace'], ['AFK', 'Ashford International'], ['DLM', 'Delamere'], ['HHY', 'Highbury & Islington'], ['INK', 'Inverkeithing'], ['SAA', 'St Albans Abbey'], ['HLB', 'Hildenborough'], ['KTH', 'Kent House'], ['BUL', 'Butlers Lane'], ['AML', 'Acton Main Line'], ['FMT', 'Falmouth Town'], ['BAM', 'Bamford'], ['FFD', 'Freshford'], ['WAT', 'London Waterloo'], ['SHN', 'Shanklin'], ['CKT', 'Crookston'], ['BKL', 'Bickley'], ['DND', 'Dinsdale'], ['NCL', 'Newcastle'], ['WLV', 'Wallasey Village'], ['THS', 'Thurso'], ['ZBS', 'Baker Street Underground'], ['WAE', 'London Waterloo East'], ['TIS', 'Tisbury'], ['BXS', 'Brussels Midi'], ['LEA', 'Leagrave'], ['BAB', 'Balcombe'], ['NCZ', 'Newcastle Central Metro'], ['ASH', 'Ash'], ['RDB', 'Redbridge'], ['BBK', 'Bilbrook'], ['BUW', 'Burley-in-Wharfedale'], ['GBD', 'Gilberdyke'], ['NSB', 'Normans Bay'], ['RGT', 'Rugeley Town'], ['SEH', 'Shoreham (Kent)'], ['BSH', 'Bushey'], ['ELG', 'Elgin'], ['FTN', 'Fratton'], ['EBN', 'Eastbourne'], ['FTM', 'Fort Matilda'], ['MBK', 'Millbrook (Hampshire)'], ['POT', 'Pontefract Tanshelf'], ['WGW', 'Wigan Wallgate'], ['SUO', 'Sutton (Surrey)'], ['AYS', 'Aylesbury'], ['LVM', 'Levenshulme'], ['WAD', 'Wadhurst'], ['PGN', 'Paignton'], ['BOC', 'Bootle'], ['BUG', 'Burgess Hill'], ['AHD', 'Ashtead'], ['OKL', 'Oakleigh Park'], ['LTT', 'Little Sutton'], ['BAU', 'Barton-on-Humber'], ['GWE', 'Gwersyllt'], ['PMH', 'Portsmouth Harbour'], ['SBU', 'Southbury'], ['CDF', 'Cardiff Central'], ['DTW', 'Droitwich Spa'], ['FST', 'London Fenchurch Street'], ['CEY', 'Cononley'], ['HML', 'Hemel Hempstead'], ['OKN', 'Oakengates'], ['CGD', 'Craigendoran'], ['PEM', 'Pemberton'], ['NHL', 'New Holland'], ['SNP', 'Stanhope'], ['EST', 'Easterhouse'], ['GRA', 'Grantham'], ['TAP', 'Taplow'], ['SUC', 'Sutton Common'], ['GNH', 'Greenhithe for Bluewater'], ['NCT', 'Newark Castle'], ['BTD', 'Bolton-on-Dearne'], ['HNC', 'Hamilton Central'], ['ECL', 'Eccleston Park'], ['OLY', 'Ockley'], ['PLD', 'Portslade'], ['BBG', 'Bishopbriggs'], ['COP', 'Copplestone'], ['SDB', 'Sandbach'], ['COV', 'Coventry'], ['EXD', 'Exeter St Davids'], ['LTH', 'Llanhilleth'], ['SQH', 'Sanquhar'], ['ERA', 'Eastham Rake'], ['BSK', 'Basingstoke'], ['MIR', 'Mirfield'], ['PFM', 'Pontefract Monkhill'], ['GUN', 'Gunnersbury'], ['WLG', 'Wallasey Grove Road'], ['PBO', 'Peterborough'], ['PLU', 'Plumstead'], ['CDQ', 'Cardiff Queen Street'], ['BXB', 'Broxbourne'], ['HNW', 'Hamilton West'], ['EXT', 'Exeter St Thomas'], ['WLT', 'Wallington'], ['HNX', 'Hunts Cross'], ['HMP', 'Hampton'], ['ALF', 'Alfreton'], ['BAA', 'Barnham'], ['SEA', 'Seaham'], ['WBY', 'West Byfleet'], ['BGL', 'Bugle'], ['WRK', 'Worksop'], ['WWI', 'West Wickham'], ['FGT', 'Faygate'], ['STW', 'Strawberry Hill'], ['NFL', 'Northfleet'], ['BUE', 'Bures'], ['NMP', 'Northampton'], ['CBL', 'Cambuslang'], ['GFN', 'Giffnock'], ['INV', 'Inverness'], ['WGR', 'Woodgrange Park'], ['STS', 'Saltash'], ['STP', 'London St Pancras (Intl)'], ['SUN', 'Sunderland'], ['SDF', 'Saundersfoot'], ['FNV', 'Furness Vale'], ['YAE', 'Yate'], ['MCV', 'Manchester Victoria'], ['RED', 'Redruth'], ['SNG', 'Sunningdale'], ['PDG', 'Padgate'], ['HTR', 'Heathrow Central Bus Stn'], ['BHI', 'Birmingham International'], ['CWH', 'Crews Hill'], ['NTA', 'Newton Abbot'], ['SFA', 'Stratford International'], ['WOH', 'Woldingham'], ['SXY', 'Saxilby'], ['GKC', 'Greenock Central'], ['PTC', 'Portchester'], ['GLD', 'Guildford'], ['BNF', 'Briton Ferry'], ['DAG', 'Dalgety Bay'], ['SOO', 'Strood'], ['DLS', 'Dalston'], ['LFD', 'Lingfield'], ['BBN', 'Blackburn'], ['CGM', 'Cottingham'], ['RVB', 'Ravensbourne'], ['AIR', 'Airbles'], ['BRR', 'Barrhead'], ['CLH', 'Clitheroe'], ['MRM', 'Manors (T & W Metro)'], ['GMT', 'Grosmont'], ['DHM', 'Durham'], ['PAR', 'Par'], ['IVY', 'Ivybridge'], ['LVN', 'Littlehaven'], ['GKW', 'Greenock West'], ['HNK', 'Hinckley'], ['KMK', 'Kilmarnock'], ['RMD', 'Richmond'], ['SIC', 'Silecroft'], ['HAD', 'Haddiscoe'], ['DNM', 'Denham'], ['OXS', 'Oxshott'], ['SLB', 'Saltburn'], ['DNT', 'Dent'], ['WHY', 'Whyteleafe'], ['CRG', 'Cross Gates'], ['LCG', 'Lochgelly'], ['BHG', 'Bathgate'], ['TNF', 'Tonfanau'], ['MAL', 'Malden Manor'], ['NUT', 'Nutbourne'], ['NWX', 'New Cross'], ['TON', 'Tonbridge'], ['TRO', 'Trowbridge'], ['WKG', 'Workington'], ['BSI', 'Balmossie'], ['SMK', 'Stowmarket'], ['LGD', 'Lingwood'], ['FBY', 'Formby'], ['NNP', 'Ninian Park'], ['ADM', 'Adisham'], ['GRL', 'Greenfaulds'], ['RLN', 'Rowlands Castle'], ['AMF', 'Ammanford'], ['KMP', 'Kempton Park'], ['SNL', 'Stoneleigh'], ['BWB', 'Bow Brickhill'], ['ABY', 'Ashburys'], ['BRY', 'Barry'], ['MYL', 'Maryland'], ['BBL', 'Bat & Ball'], ['PUT', 'Putney'], ['CAA', 'Coventry Arena'], ['HMD', 'Hampden Park'], ['GYP', 'Gypsy Lane'], ['CMY', 'Crossmyloof'], ['DUL', 'Dullingham'], ['WNM', 'Weston Milton'], ['AFV', 'Ansdell & Fairhaven'], ['SYH', 'Sydenham Hill'], ['GTW', 'Gatwick Airport'], ['HYK', 'Hoylake'], ['MIS', 'Mistley'], ['PPK', 'Possilpark & Parkhouse'], ['WYM', 'Wylam'], ['MLM', 'Millom'], ['WAV', 'Wavertree Tech Park'], ['LAM', 'Lamphey'], ['CCH', 'Chichester'], ['MLT', 'Malton'], ['SGM', 'St Germans'], ['WND', 'Wendover'], ['HAF', 'Heathrow Airport T4'], ['THE', 'Theale'], ['ADL', 'Adlington (Lancashire)'], ['HWV', 'Heathrow Airport T5'], ['PLK', 'Plockton'], ['HWC', 'Harwich Town'], ['CWU', 'Crowhurst'], ['CHK', 'Chiswick'], ['HEN', 'Hendon'], ['DRU', 'Drumgelloch'], ['HAB', 'Habrough'], ['LVT', 'Lisvane & Thornhill'], ['TOK', 'Three Oaks'], ['SVR', 'Silverdale'], ['HEL', 'Hensall'], ['SON', 'Steeton & Silsden'], ['WIC', 'Wickford'], ['NAN', 'Nantwich'], ['LUD', 'Ludlow'], ['AFS', 'Ashford (Surrey)'], ['SGH', 'South Gosforth (T & W Metro)'], ['WYL', 'Wylde Green'], ['RDH', 'Redhill'], ['RNM', 'Rainham (Essex)'], ['MIF', 'Millfield (T & W Metro)'], ['WIN', 'Winchester'], ['LLR', 'Llanharan'], ['NET', 'Netherfield'], ['BSN', 'Boston'], ['GRN', 'Grindleford'], ['APB', 'Appley Bridge'], ['PYN', 'Penryn'], ['SRR', 'Sarn'], ['BND', 'Brandon'], ['DLW', 'Dalwhinnie'], ['BIB', 'Bishops Lydeard'], ['CUX', 'Cuxton'], ['PRS', 'Prees'], ['CLC', 'Castle Cary'], ['SCF', 'Stechford'], ['CLD', 'Chelsfield'], ['RIL', 'Rice Lane'], ['TBY', 'Thornaby'], ['LPY', 'Liverpool South Parkway'], ['CRV', 'Craven Arms'], ['WMA', 'West Malling'], ['DTN', 'Denton'], ['DOC', 'Dockyard'], ['DCH', 'Dorchester South'], ['NXG', 'New Cross Gate'], ['CDS', 'Coulsdon South'], ['LLF', 'Llanfairfechan'], ['SLL', 'Stallingborough'], ['CDO', 'Cardonald'], ['HAT', 'Hatfield'], ['RDN', 'Reddish North'], ['WOS', 'Worcester Shrub Hill'], ['HAV', 'Havant'], ['SNA', 'Sandal & Agbrigg'], ['MIM', 'Moreton-in-Marsh'], ['ART', 'Arrochar & Tarbet'], ['OBN', 'Oban'], ['RDS', 'Reddish South'], ['TOO', 'Tooting'], ['WMC', 'Wilmcote'], ['SIA', 'Southend Airport'], ['EBT', 'Edenbridge Town'], ['PLG', 'Polegate'], ['BSW', 'Birmingham Snow Hill'], ['GRB', 'Great Bentley'], ['HHB', 'Heysham Port'], ['SNK', 'Sankey for Penketh'], ['BXD', 'Buxted'], ['ASK', 'Askam'], ['CFB', 'Catford Bridge'], ['GMG', 'Garth (Mid Glamorgan)'], ['NCM', 'North Camp'], ['APF', 'Appleford'], ['EWR', 'East Worthing'], ['WON', 'Walton-on-the-Naze'], ['ROW', 'Rowley Regis'], ['WSU', 'West Sutton'], ['BGG', 'Brigg'], ['EBD', 'Ebbsfleet International'], ['ZEL', 'Elephant & Castle Underground'], ['PHR', 'Penshurst'], ['MRB', 'Manorbier'], ['SPH', 'Shepherds Well'], ['STD', 'Stroud'], ['TGS', 'Ty Glas'], ['BCF', 'Beaconsfield'], ['HDF', 'Hadfield'], ['CDD', 'Cardenden'], ['LTL', 'Littleborough'], ['CHR', 'Christchurch'], ['MFT', 'Mansfield'], ['PWE', 'Pollokshaws East'], ['LPW', 'Lapworth'], ['BNE', 'Bourne End'], ['CRA', 'Cradley Heath'], ['CHO', 'Cholsey'], ['WRM', 'Wareham'], ['CSR', 'Chassen Road'], ['SEN', 'Shenstone'], ['BOE', 'Botley'], ['ANG', 'Angmering'], ['DVC', 'Dovercourt'], ['PMG', 'Porthmadog Harbour (Bus)'], ['ORN', 'Old Roan'], ['NGT', 'Newington'], ['KNI', 'Knighton'], ['GVH', 'Gravelly Hill'], ['OXF', 'Oxford'], ['CKY', 'Crosskeys'], ['BLL', 'Bardon Mill'], ['FGH', 'Fishguard Harbour'], ['LYE', 'Lye'], ['CLR', 'Clarbeston Road'], ['HBD', 'Hebden Bridge'], ['IGD', 'Invergordon'], ['YNW', 'Ynyswen'], ['PWW', 'Pollokshaws West'], ['RMB', 'Roman Bridge'], ['GRT', 'Grateley'], ['AGT', 'Aldrington'], ['CED', 'Cheddington'], ['RVN', 'Ravensthorpe'], ['KEN', 'Kendal'], ['MAR', 'Margate'], ['PSE', 'Pitsea'], ['CTK', 'City Thameslink'], ['BAT', 'Battle'], ['HEV', 'Hever'], ['WAS', 'Watton-at-Stone'], ['CLY', 'Chinley'], ['HES', 'Hessle'], ['UPH', 'Upper Halliford'], ['WNS', 'Winnersh'], ['AON', 'Alton'], ['LGK', 'Longbeck'], ['SHC', 'Streethouse'], ['EMS', 'Emsworth'], ['SYH', 'Sydenham Hill'], ['BAK', 'Battersea Park'], ['GLQ', 'Glasgow Queen Street'], ['BKJ', 'Beckenham Junction'], ['UMB', 'Umberleigh'], ['CMN', 'Carmarthen'], ['SHH', 'Shirehampton'], ['MAX', 'Maxwell Park'], ['HGY', 'Harringay'], ['AVF', 'Avoncliff'], ['BYK', 'Bentley (South Yorkshire)'], ['GER', 'Gerrards Cross'], ['HLR', 'Hall Road'], ['HNF', 'Hednesford'], ['FRD', 'Frodsham'], ['KNR', 'Kensal Rise'], ['BCC', 'Beccles'], ['HGN', 'Hough Green'], ['BKW', 'Berkswell'], ['EBR', 'Edenbridge'], ['BKT', 'Blake Street'], ['CEH', 'Coleshill Parkway'], ['LEN', 'Lenham'], ['BEC', 'Beckenham Hill'], ['FNY', 'Finchley Road & Frognal'], ['LTM', 'Lytham'], ['BKJ', 'Beckenham Junction'], ['KDG', 'Kidsgrove'], ['IGD', 'Invergordon'], ['CPH', 'Caerphilly'], ['APS', 'Apsley'], ['HTY', 'Hattersley'], ['SAL', 'Salisbury'], ['BNW', 'Bootle New Strand'], ['SOB', 'Southbourne'], ['BTH', 'Bath Spa'], ['DFE', 'Dunfermline Town'], ['SLS', 'Shettleston'], ['ELY', 'Ely'], ['BMF', 'Broomfleet'], ['NVH', 'Newhaven Harbour'], ['LCL', 'Lochailort'], ['PMD', 'Pembroke Dock'], ['WAR', 'Ware'], ['BFD', 'Brentford'], ['GLZ', 'Glazebrook'], ['HSY', 'Horsley'], ['SPI', 'Spital'], ['SHZ', 'South Hylton (T & W Metro)'], ['MOO', 'Muir of Ord'], ['NHD', 'Nunhead'], ['BKR', 'Blackridge'], ['IRL', 'Irlam'], ['NVN', 'Newhaven Town'], ['WRN', 'West Runton'], ['HDB', 'Haydon Bridge'], ['EAD', 'Earlsfield'], ['RDM', 'Riding Mill'], ['WMR', 'Widney Manor'], ['BPK', 'Brookmans Park'], ['WLF', 'Whittlesford Parkway'], ['GDN', 'Godstone'], ['TFC', 'Telford Central'], ['SHE', 'Sherborne'], ['GNB', 'Gainsborough Central'], ['BOT', 'Bootle Oriel Road'], ['EGR', 'East Grinstead'], ['LNK', 'Lanark'], ['NEG', 'Newtongrange'], ['SAL', 'Salisbury'], ['CFR', 'Chandlers Ford'], ['LGM', 'Langley Mill'], ['GSD', 'Garsdale'], ['LAG', 'Langwith-Whaley Thorns'], ['BNL', 'Barnhill'], ['IVR', 'Iver'], ['CNY', 'Cantley'], ['HGS', 'Hastings'], ['BEY', 'Ben Rhydding'], ['BMD', 'Brimsdown'], ['ARB', 'Arbroath'], ['BLN', 'Blundellsands & Crosby'], ['MSS', 'Moses Gate'], ['DST', 'Duke Street'], ['HYW', 'Hinchley Wood'], ['AYR', 'Ayr'], ['SRO', 'Shireoaks'], ['CAR', 'Carlisle'], ['DSY', 'Daisy Hill'], ['RGL', 'Rugeley Trent Valley'], ['GFF', 'Gilfach Fargoed'], ['WAF', 'Wallyford'], ['INR', 'Inverurie'], ['SBK', 'South Bank'], ['ELO', 'Elton & Orston'], ['SPB', 'Shepherds Bush'], ['STE', 'Streatham'], ['CYB', 'Cefn-y-Bedd'], ['HDY', 'Headingley'], ['HCT', 'Huncoat'], ['DYC', 'Dyce'], ['HYD', 'Heyford'], ['PRH', 'Penrhyndeudraeth'], ['SET', 'Settle'], ['WFH', 'Watford High Street'], ['DLR', 'Dalreoch'], ['BKD', 'Blakedown'], ['PTM', 'Porthmadog'], ['ORP', 'Orpington'], ['GBL', 'Gainsborough Lea Road'], ['SCU', 'Scunthorpe'], ['PTH', 'Perth'], ['TAM', 'Tamworth'], ['TRB', 'Treherbert'], ['BXY', 'Bexley'], ['TRY', 'Treorchy'], ['HRS', 'Horsforth'], ['SHV', 'Southsea Hoverport (Bus)'], ['SUM', 'Summerston'], ['WFJ', 'Watford Junction'], ['FYS', 'Ferryside'], ['NUM', 'Northumberland Park'], ['SVL', 'Staveley'], ['CYK', 'Clydebank'], ['HDN', 'Harlesden'], ['PLS', 'Pleasington'], ['TLC', 'Tal-y-Cafn'], ['WAM', 'Walmer'], ['BMG', 'Barming'], ['IFD', 'Ilford'], ['GTA', 'Great Ayton'], ['NBC', 'New Beckenham'], ['LUD', 'Ludlow'], ['FNR', 'Farningham Road'], ['CFN', 'Clifton Down'], ['HAC', 'Hackney Downs'], ['PGM', 'Pengam'], ['RLG', 'Rayleigh'], ['BKG', 'Barking'], ['BLM', 'Belmont'], ['NTC', 'Newton St Cyres'], ['RYE', 'Rye'], ['DBG', 'Mottisfont & Dunbridge'], ['NWI', 'Northwich'], ['PSC', 'Prescot'], ['DKD', 'Dunkeld & Birnam'], ['AGL', 'Abergele & Pensarn'], ['CRF', 'Carfin'], ['SOM', 'South Milford'], ['CRY', 'Crayford'], ['LIU', 'Lille Europe'], ['GLF', 'Glenfinnan'], ['SWI', 'Swindon'], ['SCR', 'St Columb Road'], ['TEO', 'Theobalds Grove'], ['BHM', 'Birmingham New Street'], ['BML', 'Bramhall'], ['WIJ', 'Willesden Junction'], ['COS', 'Cosford'], ['ACG', 'Acocks Green'], ['DVP', 'Dover Priory'], ['MOG', 'Moorgate'], ['ROS', 'Rosyth'], ['WAO', 'Walton (Merseyside)'], ['GNH', 'Greenhithe for Bluewater'], ['RWC', 'Rawcliffe'], ['LES', 'Leigh-on-Sea'], ['HLI', 'Healing'], ['WEY', 'Weymouth'], ['AFK', 'Ashford International'], ['HON', 'Honiton'], ['RCA', 'Risca & Pontymister'], ['BIY', 'Bingley'], ['FOR', 'Forres'], ['KLM', 'Kilmaurs'], ['BOR', 'Bodorgan'], ['BSS', 'Barassie'], ['PUR', 'Purley'], ['MAC', 'Macclesfield'], ['RBR', 'Robertsbridge'], ['HHE', 'Haywards Heath'], ['ALN', 'Althorne'], ['GBK', 'Greenbank'], ['BMV', 'Bromsgrove'], ['GTO', 'Gorton'], ['PMB', 'Pembroke'], ['SKE', 'Skewen'], ['CAU', 'Causeland'], ['PEN', 'Penarth'], ['UPT', 'Upton'], ['BMN', 'Bromley North'], ['ZTH', 'Tower Hill Underground'], ['KYL', 'Kyle of Lochalsh'], ['TTN', 'Totton'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['BMS', 'Bromley South'], ['ASS', 'Alness'], ['SSS', 'Sheerness-on-Sea'], ['CAG', 'Carrbridge'], ['GTH', 'Garth (Powys)'], ['LOF', 'London Fields'], ['BIS', 'Bishops Stortford'], ['BRW', 'Brunswick'], ['CHH', 'Christs Hospital'], ['HHD', 'Holyhead'], ['MFL', 'Mount Florida'], ['DAK', 'Dalmarnock'], ['WSW', 'Wandsworth Common'], ['MDN', 'Maiden Newton'], ['DFL', 'Dunfermline Queen Margaret'], ['IRV', 'Irvine'], ['WHN', 'Whiston'], ['SBS', 'St Bees'], ['PKG', 'Penkridge'], ['SOU', 'Southampton Central'], ['COY', 'Coryton'], ['GGJ', 'Georgemas Junction'], ['SLR', 'Sleaford'], ['DKT', 'Dorking West'], ['SQU', 'Squires Gate'], ['CMD', 'Camden Road'], ['BSO', 'Basildon'], ['CBR', 'Cooksbridge'], ['BYM', 'Burnley Manchester Road'], ['MLF', 'Milford (Surrey)'], ['RYR', 'Ryde St Johns Road'], ['TEY', 'Teynham'], ['TOT', 'Totnes'], ['FRF', 'Fairfield'], ['PUO', 'Purley Oaks'], ['GNF', 'Greenfield'], ['GRY', 'Grays'], ['BGH', 'Brighouse'], ['FKG', 'Falkirk Grahamston'], ['HKH', 'Hawkhead'], ['PYP', 'Pont-y-Pant'], ['FKK', 'Falkirk High'], ['SOV', 'Southend Victoria'], ['MEY', 'Merryton']]\n);\n\nfunction findStation (id) {\n const wanted = id.toUpperCase();\n const station = sMap.get(wanted);\n console.log(station);\n\n return station;\n}\n\nfunction searchStation(str) {\n const workArray = [];\n\n const searchAbbr = (str.length <= 3);\n const searchLong = (str.length >= 3);\n\n // const searchReg = /(dbe)/i;\n const searchReg = new RegExp(`(${str})`, 'gi');\n \n sMap.forEach((value, key) => {\n let out;\n if (searchAbbr && searchReg.test(key)) \n out = [key, value];\n \n if (typeof out === 'undefined' && searchLong && searchReg.test(value))\n out = [key, value];\n\n if(typeof out === 'object') workArray.push(out);\n });\n \n return workArray.slice(0, 5);\n}\n\nmodule.exports = { findStation, searchStation };\n","function partOfDay (timeString, today) {\n console.log(new Date());\n if (timeString === undefined || timeString === null) timeString = (new Date()).getHours().toString(); \n\n if (today === undefined) today = false; \n\n const hours = timeString.substring(0, 2);\n let dayBit = '';\n\n console.log('Hours', hours);\n\n if (hours >= 0 && hours < 4) \n dayBit = 'Late Night'; \n\n else if (hours >= 4 && hours < 7) \n dayBit = 'Early Morning'; \n\n else if (hours >= 7 && hours < 12) \n dayBit = 'Morning'; \n\n else if (hours >= 12 && hours < 17) \n dayBit = 'Afternoon'; \n\n else if (hours < 21) \n dayBit = 'Evening'; \n\n else dayBit = 'Night'; \n\n if (today) \n if (dayBit === 'night') {\n dayBit = 'tonight';\n }\n else {\n dayBit = `this ${dayBit}`;\n }\n\n console.log('partOfDay', dayBit);\n\n return dayBit;\n}\n\nfunction toHour (extra = 0) {\n const now = new Date();\n\n return (3600000 - (now.getTime() % 3600000)) + extra;\n}\n\nfunction hourFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 3600000) * 3600000, 10).toString(32);\n}\n\nfunction minuteFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 60000) * 60000, 10).toString(32);\n}\n\nfunction distance (lat1, lon1, lat2, lon2) {\n const p = 0.017453292519943295; // Math.PI / 180\n const c = Math.cos;\n const a = 0.5 - c((lat2 - lat1) * p) / 2 +\n c(lat1 * p) * c(lat2 * p) *\n (1 - c((lon2 - lon1) * p)) / 2;\n\n return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km\n}\n\n/* function splitURL (url) {\n\n} */\n\nconst maybePluralize = (count, noun, suffix = 's') =>\n `${count} ${noun}${count !== 1 ? suffix : ''}`;\n\nfunction supportsLocalStorage() {\n try {\n if (!localStorage)return false;\n else return true;\n // May only need the above simple test\n // - old versions of firefox may cause problem?\n // return 'localStorage' in window && window['localStorage']!==null;\n }\n catch(e) {\n return false;\n }\n}\n\nlet LocalStorage = {};\n\nif (supportsLocalStorage())\n LocalStorage = {\n 'save':function ( i, v ) {\n localStorage[i] = v;\n },\n 'load':function ( i ) {\n return localStorage[i];\n },\n 'exists':function(i) {\n return !(typeof(localStorage[i]) === 'undefined');\n }\n }; \nelse \n LocalStorage = {\n 'save':function ( i, v ) {\n document.cookie = `${i }=${ encodeURIComponent(v)}`;\n },\n 'load':function ( i ) {\n var s = `; ${ document.cookie };`,\n p = s.indexOf(`; ${ i }=`);\n if (p < 0)return '';\n p = p + i.length + 3;\n var p2 = s.indexOf(';', p + 1);\n \n return decodeURIComponent(s.substring(p, p2));\n }\n };\n\n/**\n *\n * @param fn\n * @param time\n * @returns {Function}\n * @private\n */\nfunction debounce(fn, time) {\n let timeout;\n\n return function (...args) { // <-- not an arrow function\n const functionCall = () => fn.apply(this, args);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\n/**\n *\n * @param callback\n * @param limit\n * @returns {Function}\n * @private\n */\nfunction throttle (callback, limit) {\n var wait = false;\n\n return function () {\n if (!wait) {\n callback.apply(null, arguments);\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\n/**\n *\n * @param func\n * @returns {function(): *}\n * @private\n */\n\nfunction once(func) {\n var alreadyCalled = false;\n var result;\n\n return function() {\n if (!alreadyCalled) {\n result = func.apply(this, arguments);\n alreadyCalled = true;\n }\n\n return result;\n };\n};\n\nfunction isEmpty(obj) {\n for(const key in obj)\n if(obj.hasOwnProperty(key)) return false;\n\n return true;\n}\n\n\n\nmodule.exports = { partOfDay, toHour, hourFloor, distance, maybePluralize, minuteFloor, debounce, throttle, once, isEmpty, LocalStorage };\n","export default(function e(t){function r(e){return function(t,r){return a(t,Object.assign({method:e},r))}}function o(e){return function(t,r,o){return a(t,Object.assign({method:e,data:r},o))}}function n(e,t,r){if(Array.isArray(e))return e.concat(t);if(t&&\"object\"==typeof t){var o,a={};if(e)for(o in e)a[r?o.toLowerCase():o]=e[o];for(o in t){var i=r?o.toLowerCase():o;\"headers\"===i&&(r=!0),a[i]=o in a?n(a[i],t[o],r):t[o]}return a}return t}function a(e,r){\"string\"!=typeof e&&(e=(r=e).url);var o=n(t,r||{}),a=o.data;if(o.transformRequest)for(var i=0;i element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support (#5572)\n // since Safari 10.1 shipped with fetch, we can use that to detect it\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n resolve(openreq.result);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback retuns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = req.onblocked = function (err) {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(err);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 28/04/2020\n * Time: 11:28\n\n */\nimport axios from 'redaxios';\n\nimport { writable, get } from 'svelte/store';\nimport localforage from 'localforage';\nconst baseUrl = (ENV === 'production') ? (`${location.protocol }//${ location.hostname}`) : 'http://localhost:8100';\n\nlet started = false;\nconst twitterAccounts = {\n 'nationalrailenq': {\n 'id': 33546465,\n 'follow': false\n },\n 'networkrail': {\n 'id': 365344176,\n 'follow': false\n },\n 'NetworkRailSCOT': {\n 'id': 402687948,\n 'follow': false\n },\n 'AvantiWestCoast': {\n 'id': 1143560758476906497,\n 'follow': false\n },\n 'CalSleeper': {\n 'id': 2870293725,\n 'follow': false\n },\n 'CrossCountryUK': {\n 'id': 153368708,\n 'follow': false\n },\n 'Eurostar': {\n 'id': 98412169,\n 'follow': false\n },\n 'EurostarUK': {\n 'id': 59742254,\n 'follow': false\n },\n 'GatwickExpress': {\n 'id': 163816182,\n 'follow': false\n },\n 'GlasgowSubway': {\n 'id': 224607925,\n 'follow': false\n },\n 'GWRHelp': {\n 'id': 15589815,\n 'follow': false\n },\n 'HeathrowExpress': {\n 'id': 20240678,\n 'follow': false\n },\n 'LNER': {\n 'id': 313306238,\n 'follow': false\n },\n 'LNRailway': {\n 'id': 910487328627535872,\n 'follow': false\n },\n 'northernassist': {\n 'id': 194512268,\n 'follow': false\n },\n 'ScotRail': {\n 'id': 61569136,\n 'follow': false\n },\n 'Stansted_Exp': {\n 'id': 257511611,\n 'follow': false\n },\n 'TfL': {\n 'id': 47319664,\n 'follow': false\n },\n 'NetworkRailBHM': {\n 'id': 583910976,\n 'follow': false\n },\n 'NetworkRailEDB': {\n 'id': 586614081,\n 'follow': false\n },\n 'NetworkRailEUS': {\n 'id': 581807264,\n 'follow': false\n },\n 'NetworkRailGLC': {\n 'id': 421061171,\n 'follow': false\n },\n 'NetworkRailKGX': {\n 'id': 459192871,\n 'follow': false\n },\n 'NetworkRailLST': {\n 'id': 581826097,\n 'follow': false\n },\n 'NetworkRailMAN': {\n 'id': 583895871,\n 'follow': false\n },\n 'NetworkRailVIC': {\n 'id': 587354752,\n 'follow': false\n },\n 'BTPScotland': {\n 'id': 957256160,\n 'follow': false\n }\n};\n\nconst state = {\n 'twitterFollowing': writable({}),\n 'twitterFollowingList' : writable([]),\n 'tweetList' : writable([]),\n 'tweets' : writable([]),\n 'favourites' : writable([]),\n 'routes' : writable([]),\n 'routeIndex' : writable(0),\n incrementRouteIndex() {\n this.routeIndex.update(v => v + 1);\n },\n async saveRoute(newRoute) {\n // console.log('Newroute', newRoute);\n const _newRoute = { ...newRoute };\n _newRoute.id = get(this.routeIndex);\n \n this.routes.update((v) => {\n // console.log('update', [...v, _newRoute]);\n \n return [...v, _newRoute];\n });\n this.incrementRouteIndex();\n },\n deleteRoute(id) {\n const pre = get(this.routes).slice(0, id);\n\n const post = get(this.routes).slice(id + 1);\n\n this.routes.set([...pre, ...post]);\n },\n async getTweets() {\n // console.log('>> getTweets');\n // console.log('>> state.twitterFollowingList', get(state.twitterFollowingList));\n const list = get(state.twitterFollowingList).map((item) => {\n return item[1].id; \n })/* .join(',')*/;\n // console.log('>> actual ids', list);\n // const routeUrl = `/twitter?t=${list}`;\n const routeUrl = '/twitter';\n const twitterUrl = baseUrl.concat(routeUrl);\n const postReq = {\n 'method':'post',\n 'url': twitterUrl,\n 'data' : {\n list\n }\n };\n // console.log(postReq);\n await axios(postReq)\n .then((d) => {\n // console.log('>> retrieved', d);\n const data = JSON.parse(d.data);\n const list = data.map((item) => {\n return item.id;\n });\n\n const tMap = data.map((item) => {\n return [item.id, item];\n });\n\n this.tweetList.set(list);\n this.tweets.set(new Map(tMap));\n });\n },\n getTweetByID(id) {\n return get(this.tweets).get(id);\n },\n getTwitterFollowing() {\n return get(this.twitterFollowing);\n },\n saveTwitterFollowing(newVals) {\n this.twitterFollowing.set(newVals);\n },\n \n getBaseUrl() {\n return baseUrl;\n }\n \n};\n\nlocalforage.getItem('twitterFollowing').then((value) => {\n if (value !== null) state.twitterFollowing.set(value);\n else {\n state.twitterFollowing.set(twitterAccounts);\n localforage.setItem('twitterFollowing', twitterAccounts).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n }\n\n // console.log('twitterFollowing', get(state.twitterFollowing));\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('favourites').then((value) => {\n if (value !== null) state.favourites.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routes').then((value) => {\n if (value !== null) state.routes.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routeIndex').then((value) => {\n if (value !== null) state.routeIndex.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nstate.favourites.subscribe((v) => {\n console.log('>> Store.state.favourites', v);\n});\n\nstate.routes.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routes', v);\n localforage.setItem('routes', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.routeIndex.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routeIndex', v);\n localforage.setItem('routeIndex', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.twitterFollowing.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.twitterFollowing', v);\n localforage.setItem('twitterFollowing', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n\n const list = Object.entries(get(state.twitterFollowing)).filter((item) => {\n if (item[1].follow) return item;\n });\n\n state.twitterFollowingList.set(list);\n});\n\n// started = true;\nsetTimeout(() => {\n started = true;\n}, 250);\n\nexport { state };\n","\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n","\n\n
\n {#each _routes as item}\n \n\n {/each}\n\n\n\n\n
\n\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 20/04/2020\n * Time: 12:01\n\n */\n\nconst reducer = {\n reduceOtherDetails (data) {\n const nrMessages = [];\n // we have national rail messages so put a box at the top\n //
\n let index = 0;\n const anchorRegex = /<\\s*[aA].*?href\\s*=\\s*(?:\"|')(.*?)(?:\"|')[^>]*>(.*?)<\\s*?\\/\\s*?[aA]\\s*?>/;\n\n if (typeof data.nrccMessages === 'object' && data.nrccMessages !== null) \n for (const item of data.nrccMessages) {\n const newObj = { 'index': 0, 'msg': '', 'link': null, 'linkText': '' };\n\n let msg = item.value.replace(' \">', '\">').replace('
', '').replace('/gi, '');\n const anchor = anchorRegex.exec(item.value);\n msg = msg.replace(anchorRegex, '');\n\n newObj.index = index;\n newObj.msg = msg;\n if (anchor !== null) {\n newObj.link = anchor[1];\n newObj.linkText = anchor[2];\n }\n\n nrMessages.push(newObj);\n index++;\n }\n \n return { nrMessages, 'nrMessagesExist': nrMessages.length > 0 };\n },\n reduceTrainTimetable (data) {\n const services = [];\n let ws = '';\n const symbol = ['💠', '🚉'];\n if (typeof data === 'object' && data !== null) {\n console.log('>> reduceTrainService');\n // console.log(data);\n if (typeof data.trainServices === 'object' && data.trainServices !== null) \n for (const item of data.trainServices) {\n // console.log(item)\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : `${symbol[0]}`;\n // 🚉 💠\n // const time = item.sta !== null ? item.sta : `D ${item.std}`\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const isDeparture = item.sta === null;\n const status = item.eta !== null ? item.eta : item.etd;\n const trainLength = item.length;\n\n const carriageCount = (trainLength > 0) ? ` (${trainLength} 🚃) ` : '';\n\n const statusMode = (status.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n const delayReason = (item.delayReason !== null) ? item.delayReason : '';\n\n const cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n\n const serviceIdUrlSafe = item.serviceIdUrlSafe;\n\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': cancelReason, 'type': 'train', 'delay': delayReason, 'carriageCount': carriageCount, 'via': via, 'statusMode': statusMode, 'isCancelled': item.isCancelled, 'isDeparture': isDeparture, 'serviceIdUrlSafe': serviceIdUrlSafe });\n if (!item.isCancelled)\n ws = `${ws}${dest.locationName}${carriageCount}${via}\n ${time}\n ${status}\n ${platform}\n ${delayReason}`;\n else\n ws = `${ws}${dest.locationName} ${via}${time}\n ❌ ${cancelReason}`;\n } \n\n if (typeof data.busServices === 'object' && data.busServices !== null) \n for (const item of data.busServices) {\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : '';\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const status = item.eta !== null ? item.eta : item.etd;\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': item.cancelReason, 'type': 'bus', 'via': via });\n }\n }\n console.log(services);\n \n return services;\n },\n reduceTrainService (d) {\n let callingpoints = [];\n\n const departureTime = d.sta || d.std;\n const departureStatus = d.eta || d.etd;\n\n const currentLocation = { 'locationName': d.locationName, 'crs': d.crs, 'st': d.sta, 'et': d.eta, 'at': d.ata, 'isCancelled': d.isCancelled, 'length': d.length, 'detachFront': d.detachFront, 'adhocAlerts': d.adhocAlerts };\n\n if (d.previousCallingPoints !== null) \n callingpoints = callingpoints.concat(d.previousCallingPoints[0].callingPoint);\n\n callingpoints.push(currentLocation);\n\n if (d.subsequentCallingPoints !== null) \n callingpoints = callingpoints.concat(d.subsequentCallingPoints[0].callingPoint);\n\n callingpoints = callingpoints.map((item) => {\n // console.log(item)\n item.et = (item.et === null) ? '' : item.et;\n item.at = (item.at === null) ? '' : item.at;\n\n item.etMode = (item.et.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.atMode = (item.at.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.delayReason = (item.delayReason !== null) ? item.delayReason : '';\n item.cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n item.classCancel = (item.isCancelled) ? 'cancelledRow' : '';\n\n if (item.st === null && (item.et === null || item.et === '')) {\n item.st = `D ${departureTime}`;\n item.et = departureStatus;\n }\n\n return item;\n });\n \n return callingpoints;\n }\n};\n\nmodule.exports = reducer;\n","\n\n\n\n
\n
\n
Station
\n
Due
\n
Estimated
\n
Arrived
\n
\n {#if list.length > 0}\n {#each list as item}\n
\n
{item.locationName}
\n
{item.st}
\n
{item.et}
\n
{item.at}
\n
\n {/each}\n {/if}\n
\n","\n\n\n\n
\n \n
\n\n","\n\n\n\n
\n
\n {#if otherDetails.nrMessagesExist === true}\n \n {/if}\n\n {#if list.length > 0}\n\n {#each list as item, i (item.serviceIdUrlSafe)}\n
\n
\n {item.location}\n {item.carriageCount}\n
\n {#if item.via}\n {item.via}\n {/if}\n
\n
\n
{item.time}
\n\n {#if item.isCancelled}\n
{item.cancel}
\n {:else}\n
{item.status}
\n
{item.platform}
\n {/if}\n
\n {/each}\n\n\n {/if}\n\n
\n\n
\n\n","\n\n\n\n
\n
\n
{fromStationName} TO {destStationName}
\n \n\n \n
\n\n
\n\n","\n\n\n\n\n \n \n {#if searchResults.length > 0}\n
    \n {#each searchResults as item, index}\n
  • {item[1]} ({item[0]})
  • \n {/each}\n
\n {/if}\n
\n","\n\n\n\n{#if editorVisible}\n
\n
\n
New Route
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n\n \n \n
\n\n\n
\n
\n{:else}\n
\n \n\n
\n\n{/if}\n","export function longpress(node, duration) {\n let timer;\n\n const handleMousedown = () => {\n console.log('>> handleMousedown');\n timer = setTimeout(() => {\n node.dispatchEvent(\n new CustomEvent('longpress')\n );\n }, duration);\n };\n\n const handleMouseup = () => {\n clearTimeout(timer);\n };\n\n node.addEventListener('mousedown', handleMousedown);\n node.addEventListener('mouseup', handleMouseup);\n\n return {\n update(newDuration) {\n duration = newDuration;\n },\n destroy() {\n node.removeEventListener('mousedown', handleMousedown);\n node.removeEventListener('mouseup', handleMouseup);\n }\n };\n}\n","\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n","\n\n\n\n{#each _routes as item, i (item.id)}\n \n\n{/each}\n","\n\n\n\n
\n
Twitter
\n {#if mounted}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n {/if}\n\n
\n","\n\n\n\n{#if tweet}\n
\n
\n
\n
\n \n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n
\n
\n{/if}\n","\n\n\n\n
\n
Twitter
\n {#each _tweets as item, i (item)}\n \n {/each}\n\n
\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 19/04/2020\n * Time: 21:19\n\n */\n// import { wrap } from 'svelte-spa-router';\n\nimport Home from './pages/Home.svelte';\nimport Service from './pages/Service.svelte';\nimport Timetable from './pages/Timetable.svelte';\nimport Settings from './pages/Settings.svelte';\nimport Favourites from './pages/Favourites.svelte';\nimport Twitter from './pages/Twitter.svelte';\nimport NotFound from './pages/NotFound.svelte';\n\nconst routes = new Map();\nroutes.set('/', Home);\nroutes.set('/timetable/:fromStation/:destStation', Timetable);\nroutes.set('/service/:serviceId', Service);\nroutes.set('/settings', Settings);\nroutes.set('/favourites', Favourites);\nroutes.set('/tweets', Twitter);\nroutes.set('*', NotFound);\n\nexport default routes;\n","\n\n\n\n
\n\n
\n {#if currentMode === 1}\n \n \n \n {/if}\n\n\n {titleText}\n
\n\n\n
\n Tweets\n Settings\n {#if showFav}\n Favourites\n {/if}\n
\n\n\n
\n","\n\n\n\n\n\n\n
\n\n","import App from './App.svelte';\n\nimport {state} from './store/store';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n\t\t\n }\n});\n\nexport default app;\n"],"names":["location","active","linear","require","global","get","LocalStorage","findStation","minuteFloor","reducer","debounce","searchStation","Twitter"],"mappings":"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"} \ No newline at end of file diff --git a/live/build/fonts/GothamNarrSSm-Bold.otf b/live/build/fonts/GothamNarrSSm-Bold.otf new file mode 100755 index 0000000..2be029a Binary files /dev/null and b/live/build/fonts/GothamNarrSSm-Bold.otf differ diff --git a/live/build/fonts/GothamNarrSSm-Book.otf b/live/build/fonts/GothamNarrSSm-Book.otf new file mode 100755 index 0000000..acb140a Binary files /dev/null and b/live/build/fonts/GothamNarrSSm-Book.otf differ diff --git a/live/build/fonts/GothamNarrSSm-Light.otf b/live/build/fonts/GothamNarrSSm-Light.otf new file mode 100755 index 0000000..ccbfa4b Binary files /dev/null and b/live/build/fonts/GothamNarrSSm-Light.otf differ diff --git a/live/build/fonts/GothamNarrSSm-Medium.otf b/live/build/fonts/GothamNarrSSm-Medium.otf new file mode 100755 index 0000000..389e2ba Binary files /dev/null and b/live/build/fonts/GothamNarrSSm-Medium.otf differ diff --git a/live/build/fonts/GothamSSm-Black.otf b/live/build/fonts/GothamSSm-Black.otf new file mode 100755 index 0000000..95aa773 Binary files /dev/null and b/live/build/fonts/GothamSSm-Black.otf differ diff --git a/live/build/fonts/GothamSSm-Bold.otf b/live/build/fonts/GothamSSm-Bold.otf new file mode 100755 index 0000000..3d624a6 Binary files /dev/null and b/live/build/fonts/GothamSSm-Bold.otf differ diff --git a/live/build/fonts/GothamSSm-Book.otf b/live/build/fonts/GothamSSm-Book.otf new file mode 100755 index 0000000..497df6e Binary files /dev/null and b/live/build/fonts/GothamSSm-Book.otf differ diff --git a/live/build/fonts/GothamSSm-Light.otf b/live/build/fonts/GothamSSm-Light.otf new file mode 100755 index 0000000..3430a31 Binary files /dev/null and b/live/build/fonts/GothamSSm-Light.otf differ diff --git a/live/build/fonts/GothamSSm-Medium.otf b/live/build/fonts/GothamSSm-Medium.otf new file mode 100755 index 0000000..8f4e1c2 Binary files /dev/null and b/live/build/fonts/GothamSSm-Medium.otf differ diff --git a/live/build/fonts/Roboto-normal-400.woff b/live/build/fonts/Roboto-normal-400.woff new file mode 100644 index 0000000..69c8825 Binary files /dev/null and b/live/build/fonts/Roboto-normal-400.woff differ diff --git a/live/build/fonts/Roboto_Condensed-normal-400.woff b/live/build/fonts/Roboto_Condensed-normal-400.woff new file mode 100644 index 0000000..90f54ea Binary files /dev/null and b/live/build/fonts/Roboto_Condensed-normal-400.woff differ diff --git a/live/build/fonts/Roboto_Mono-normal-400.woff b/live/build/fonts/Roboto_Mono-normal-400.woff new file mode 100644 index 0000000..c41382c Binary files /dev/null and b/live/build/fonts/Roboto_Mono-normal-400.woff differ diff --git a/live/build/fonts/Roboto_Slab-normal-400.woff b/live/build/fonts/Roboto_Slab-normal-400.woff new file mode 100644 index 0000000..7fa41d5 Binary files /dev/null and b/live/build/fonts/Roboto_Slab-normal-400.woff differ diff --git a/live/build/fonts/fonts.css b/live/build/fonts/fonts.css new file mode 100644 index 0000000..8c53312 --- /dev/null +++ b/live/build/fonts/fonts.css @@ -0,0 +1,32 @@ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + src: url(Roboto-normal-400.woff) format('woff'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Roboto Condensed'; + font-style: normal; + font-weight: 400; + src: url(Roboto_Condensed-normal-400.woff) format('woff'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + src: url(Roboto_Mono-normal-400.woff) format('woff'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Roboto Slab'; + font-style: normal; + font-weight: 400; + src: url(Roboto_Slab-normal-400.woff) format('woff'); + unicode-range: U+0-10FFFF; +} + diff --git a/live/build/fonts/fujicons.css b/live/build/fonts/fujicons.css new file mode 100644 index 0000000..5667898 --- /dev/null +++ b/live/build/fonts/fujicons.css @@ -0,0 +1,277 @@ +@font-face { + font-family: 'Fujicons'; + font-style: normal; + font-weight: 400; + src: url(fujicons.ttf) format('truetype'); + unicode-range: U+0-10FFFF; +} + + +.fa { + display: inline-block; + font: normal normal normal 14px/1 Fujicons; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} + + +.fa-back:before { + content: ""; +} + +.fa-back-chevron:before { + content: "\E91F" +} + +.fa-forward:before { + content: ""; +} + +.fa-globe:before { + content: "\EA12" +} + +.fa-up:before { + content: "\E925" +} + +.fa-down:before { + content: "\E922" +} + +.fa-work:before { + content: "\E998" +} + +.fa-home:before { + content: "\EA1E" +} + +.fa-refresh:before { + content: "\EA88" +} + +.fa-menu:before { + content: "\EA68" +} + +.fa-star:before { + content: "\EAB3" +} + +.fa-star-filled:before { + content: "\EAB2" +} + +.fa-thick-arrow:before { + content: "\EA08" +} + +.fa-tick:before { + content: "\E9A4" +} + +.fa-cross:before { + content: "\E951" +} + +.fa-cross-circle:before { + content: "\E9D2" +} + +.fa-cross-circle-filled:before { + content: "\E9D1" +} + +.fa-alert:before { + content: "\E9ED" +} + +.fa-alert-filled:before { + content: "\E9EC" +} + +.fa-info:before { + content: "\E9EF" +} + +.fa-info-filled:before { + content: "\E9EE" +} + +.fa-bookmark:before { + content: "\E951" +} + +.fa-bookmark-filled:before { + content: "\E950" +} + +.fa-clockface:before { + content: "\E9AB" +} + +.fa-clockface-filled:before { + content: "\E9AA" +} diff --git a/live/build/fonts/fujicons.ttf b/live/build/fonts/fujicons.ttf new file mode 100755 index 0000000..a323b19 Binary files /dev/null and b/live/build/fonts/fujicons.ttf differ diff --git a/live/build/fonts/gotham.css b/live/build/fonts/gotham.css new file mode 100644 index 0000000..ce9f10b --- /dev/null +++ b/live/build/fonts/gotham.css @@ -0,0 +1,39 @@ +@font-face { + font-family: 'Gotham'; + font-style: normal; + font-weight: 400; + src: url(GothamSSm-Book.otf) format('opentype'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Gotham Light'; + font-style: normal; + font-weight: 400; + src: url(GothamSSm-Light.otf) format('opentype'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Gotham Medium'; + font-style: normal; + font-weight: 400; + src: url(GothamSSm-Medium.otf) format('opentype'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Gotham Bold'; + font-style: normal; + font-weight: 400; + src: url(GothamSSm-Bold.otf) format('opentype'); + unicode-range: U+0-10FFFF; +} + +@font-face { + font-family: 'Gotham Black'; + font-style: normal; + font-weight: 400; + src: url(GothamSSm-Black.otf) format('opentype'); + unicode-range: U+0-10FFFF; +} diff --git a/live/favicon.png b/live/favicon.png new file mode 100644 index 0000000..669014f Binary files /dev/null and b/live/favicon.png differ diff --git a/live/global.css b/live/global.css new file mode 100644 index 0000000..e69de29 diff --git a/live/img/Icon-144.png b/live/img/Icon-144.png new file mode 100644 index 0000000..45e0459 Binary files /dev/null and b/live/img/Icon-144.png differ diff --git a/live/img/Icon-192.png b/live/img/Icon-192.png new file mode 100644 index 0000000..daf222c Binary files /dev/null and b/live/img/Icon-192.png differ diff --git a/live/img/Icon-36.png b/live/img/Icon-36.png new file mode 100644 index 0000000..b1ad90e Binary files /dev/null and b/live/img/Icon-36.png differ diff --git a/live/img/Icon-48.png b/live/img/Icon-48.png new file mode 100644 index 0000000..15d29c1 Binary files /dev/null and b/live/img/Icon-48.png differ diff --git a/live/img/Icon-512.png b/live/img/Icon-512.png new file mode 100644 index 0000000..fa3720b Binary files /dev/null and b/live/img/Icon-512.png differ diff --git a/live/img/Icon-72.png b/live/img/Icon-72.png new file mode 100644 index 0000000..649b07c Binary files /dev/null and b/live/img/Icon-72.png differ diff --git a/live/img/Icon-96.png b/live/img/Icon-96.png new file mode 100644 index 0000000..eace2dd Binary files /dev/null and b/live/img/Icon-96.png differ diff --git a/live/img/android-chrome-192x192.png b/live/img/android-chrome-192x192.png new file mode 100644 index 0000000..3aa557d Binary files /dev/null and b/live/img/android-chrome-192x192.png differ diff --git a/live/img/apple-touch-icon.png b/live/img/apple-touch-icon.png new file mode 100644 index 0000000..8387a2e Binary files /dev/null and b/live/img/apple-touch-icon.png differ diff --git a/live/img/favicon-16x16.png b/live/img/favicon-16x16.png new file mode 100644 index 0000000..0e695c5 Binary files /dev/null and b/live/img/favicon-16x16.png differ diff --git a/live/img/favicon-32x32.png b/live/img/favicon-32x32.png new file mode 100644 index 0000000..b4bc5c5 Binary files /dev/null and b/live/img/favicon-32x32.png differ diff --git a/live/img/favicon.ico b/live/img/favicon.ico new file mode 100644 index 0000000..aa96bef Binary files /dev/null and b/live/img/favicon.ico differ diff --git a/live/img/mstile-150x150.png b/live/img/mstile-150x150.png new file mode 100644 index 0000000..f580457 Binary files /dev/null and b/live/img/mstile-150x150.png differ diff --git a/live/img/photothumb.db b/live/img/photothumb.db new file mode 100644 index 0000000..fa58b80 Binary files /dev/null and b/live/img/photothumb.db differ diff --git a/live/img/safari-pinned-tab.svg b/live/img/safari-pinned-tab.svg new file mode 100644 index 0000000..bd9b59f --- /dev/null +++ b/live/img/safari-pinned-tab.svg @@ -0,0 +1,33 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + + + diff --git a/live/index.html b/live/index.html new file mode 100644 index 0000000..49fe982 --- /dev/null +++ b/live/index.html @@ -0,0 +1,18 @@ + + + + + + + Traintimes + + + + + + + + + + + diff --git a/live/manifest.json b/live/manifest.json new file mode 100644 index 0000000..30f8da3 --- /dev/null +++ b/live/manifest.json @@ -0,0 +1,46 @@ +{ + "name": "Train Times", + "short_name": "Train Times", + "icons": [ + { + "src": "/img/Icon-36.png", + "sizes": "36x36", + "type": "image/png" + }, + { + "src": "/img/Icon-48.png", + "sizes": "48x48", + "type": "image/png" + }, + { + "src": "/img/Icon-72.png", + "sizes": "72x72", + "type": "image/png" + }, + { + "src": "/img/Icon-96.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "/img/Icon-144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "/img/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/img/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "start_url": ".", + "imgdisplay": "standalone", + "display": "standalone" +} diff --git a/live/service-worker.js b/live/service-worker.js new file mode 100644 index 0000000..8a881b4 --- /dev/null +++ b/live/service-worker.js @@ -0,0 +1,110 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +const CACHE_VERSION = 8; +const dataCacheName = `traintimesData-v${CACHE_VERSION}`; +const cacheName = `traintimePWA-final-${CACHE_VERSION}`; +const filesToCache = [ + '/', + '/index.html', + '/service-worker.js', + '/manifest.json', + '/favicon.png', + '/browserconfig.xml', + '/build/bundle.css', + '/build/bundle.js', + '/fonts/fujicons.css', + '/fonts/fujicons.ttf', + '/img/Icon-36.png', + '/img/Icon-48.png', + '/img/Icon-72.png', + '/img/Icon-96.png', + '/img/Icon-144.png', + '/img/Icon-192.png', + '/img/Icon-512.png' +]; + +self.addEventListener('install', function(e) { + console.log('[ServiceWorker] Install'); + e.waitUntil( + caches.open(cacheName).then(function(cache) { + console.log('[ServiceWorker] Caching app shell'); + + return cache.addAll(filesToCache); + }) + ); +}); + +self.addEventListener('activate', function(e) { + console.log('[ServiceWorker] Activate'); + e.waitUntil( + caches.keys().then(function(keyList) { + return Promise.all(keyList.map(function(key) { + if (key !== cacheName && key !== dataCacheName) { + console.log('[ServiceWorker] Removing old cache', key); + + return caches.delete(key); + } + })); + }) + ); + + /* + * Fixes a corner case in which the app wasn't returning the latest data. + * You can reproduce the corner case by commenting out the line below and + * then doing the following steps: 1) load app for first time so that the + * initial New York City data is shown 2) press the refresh button on the + * app 3) go offline 4) reload the app. You expect to see the newer NYC + * data, but you actually see the initial data. This happens because the + * service worker is not yet activated. The code below essentially lets + * you activate the service worker faster. + */ + return self.clients.claim(); +}); + +self.addEventListener('fetch', function(e) { + console.warn('[Service Worker] Fetch', e.request.url); + const dataUrl = '/getnexttraintimes?'; + if (e.request.url.indexOf(dataUrl) > -1) { + console.log('!'); + + /* + * When the request URL contains dataUrl, the app is asking for fresh + * weather data. In this case, the service worker always goes to the + * network and then caches the response. This is called the "Cache then + * network" strategy: + * https://jakearchibald.com/2014/offline-cookbook/#cache-then-network + */ + e.respondWith( + caches.open(dataCacheName).then(function(cache) { + return fetch(e.request).then(function(response) { + cache.put(e.request.url, response.clone()); + + return response; + }); + }) + ); + } + else + + /* + * The app is asking for app shell files. In this scenario the app uses the + * "Cache, falling back to the network" offline strategy: + * https://jakearchibald.com/2014/offline-cookbook/#cache-falling-back-to-network + */ + e.respondWith( + caches.match(e.request).then(function(response) { + return response || fetch(e.request); + }) + ); +});