PageSourceSearch

https://killcoach.ai/assets/brand-seo-CJGfew0m.js

js killcoach.ai collected 2026-10-05 15:15:54 UTC 5,260 bytes, 1 lines download raw bytes

1import{t as e}from"./host-B7DtPy0o.js";var t={version:1,asset_id:`8dd0a1ce-8bba-4cbe-8a02-fc50c02b0536`,project_id:`f447af17-78fb-46b0-b21b-12368780f664`,url:`/__l5e/assets-v1/8dd0a1ce-8bba-4cbe-8a02-fc50c02b0536/proshot-og-dark.png`,r2_key:`a/v1/f447af17-78fb-46b0-b21b-12368780f664/8dd0a1ce-8bba-4cbe-8a02-fc50c02b0536/proshot-og-dark.png`,original_filename:`proshot-og-dark.png`,size:34650,content_type:`image/png`,created_at:`2026-09-08T08:02:48Z`},n={version:1,asset_id:`6954139a-614f-4e40-8f33-847608078d76`,project_id:`f447af17-78fb-46b0-b21b-12368780f664`,url:`/__l5e/assets-v1/6954139a-614f-4e40-8f33-847608078d76/killcount-og-dark.png`,r2_key:`a/v1/f447af17-78fb-46b0-b21b-12368780f664/6954139a-614f-4e40-8f33-847608078d76/killcount-og-dark.png`,original_filename:`killcount-og-dark.png`,size:51372,content_type:`image/png`,created_at:`2026-09-15T16:59:36Z`},r={version:1,asset_id:`3efa9556-e72c-4a9c-a602-f7de25a36082`,project_id:`f447af17-78fb-46b0-b21b-12368780f664`,url:`/__l5e/assets-v1/3efa9556-e72c-4a9c-a602-f7de25a36082/killcoach-og-dark.png`,r2_key:`a/v1/f447af17-78fb-46b0-b21b-12368780f664/3efa9556-e72c-4a9c-a602-f7de25a36082/killcoach-og-dark.png`,original_filename:`killcoach-og-dark.png`,size:421429,content_type:`image/png`,created_at:`2026-09-15T16:50:22Z`},i={proshot:`https://proshotsystems.com`,killcount:`https://killcount.ai`,killcoach:`https://killcoach.ai`},a={proshot:`ProShot Systems`,killcount:`KillCountAI`,killcoach:`KillCoachAI`},o=i.proshot;t.url;var s={proshot:`${i.proshot}${t.url}`,killcount:`${i.killcount}${n.url}`,killcoach:`${i.killcoach}${r.url}`},c={proshot:{title:`ProShot Systems — Club & Org Management`,description:`Club and organisation management software for clay target shooting: members, competitions, classifications, live scoring and national oversight.`},killcount:{title:`KillCountAI — Know why you missed`,description:`Offline-first scoring and station-level analytics for competitive clay target shooters. Compak Sporting, Sporting Clays and English Sporting (Doubles).`},killcoach:{title:`KillCoachAI — Coach smarter, not harder`,description:`Coaching software for clay target coaches: athlete analytics, structured sessions, drills and progress reports.`}},l={proshot:[],killcount:[],killcoach:[]},u={proshot:{name:`ProShot Systems`,legalName:`ProShot Systems`,description:c.proshot.description,email:`[email protected]`,sameAs:[i.killcount,i.killcoach]},killcount:{name:`KillCountAI`,description:c.killcount.description,email:`[email protected]`,sameAs:[i.proshot],parentOrganisation:{name:`ProShot Systems`,url:i.proshot}},killcoach:{name:`KillCoachAI`,description:c.killcoach.description,email:`[email protected]`,sameAs:[i.proshot],parentOrganisation:{name:`ProShot Systems`,url:i.proshot}}};function d(e){return Array.from(new Set([...u[e].sameAs,...l[e]]))}function f(e){let t=i[e],n=u[e],r=`${t}/#organization`,o=`${t}/#website`;return{"@context":`https://schema.org`,"@graph":[{"@type":`Organization`,"@id":r,name:n.name,...n.legalName?{legalName:n.legalName}:{},url:`${t}/`,description:n.description,logo:{"@type":`ImageObject`,url:`${t}/favicon.png`},image:s[e],email:n.email,sameAs:d(e),...n.parentOrganisation?{parentOrganization:{"@type":`Organization`,name:n.parentOrganisation.name,url:`${n.parentOrganisation.url}/`}}:{}},{"@type":`WebSite`,"@id":o,name:a[e],url:`${t}/`,description:c[e].description,inLanguage:`en`,publisher:{"@id":r}}]}}function p(e){return{type:`application/ld+json`,children:JSON.stringify(f(e))}}function m(e,t=`/`){let n=i[e];return!t||t===`/`?`${n}/`:`${n}${t.startsWith(`/`)?t:`/${t}`}`}function h(t){let n=t?.[0];return(n?.loaderData?.brand??n?.context?.brand)||(typeof window<`u`?e(window.location.hostname):`proshot`)}var g={killcountHome:{proshot:`/killcount`,killcount:`/`},killcountInstall:{proshot:`/killcount/install`,killcount:`/install`},killcountStart:{proshot:`/killcount/start`,killcount:`/start`},killcountCompare:{proshot:`/killcount/compare`,killcount:`/compare`},killcountHowToScore:{proshot:`/killcount/how-to-score`,killcount:`/how-to-score`},killcoachHome:{proshot:`/killcoach`,killcoach:`/`}};
1function _(e){let{brand:t,path:n,title:r,description:i,ogTitle:o=r,ogDescription:c=i,ogType:l=`website`,image:u,noindex:d=!1,canonicalBrand:f=t,canonicalPath:p=n,alternates:h}=e,g=m(f,p),_=u??s[f],v=[{title:r},{name:`description`,content:i},{property:`og:site_name`,content:a[t]},{property:`og:type`,content:l},{property:`og:url`,content:g},{property:`og:title`,content:o},{property:`og:description`,content:c},{property:`og:image`,content:_},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:o},{name:`twitter:description`,content:c},{property:`og:image:width`,content:`1200`},{property:`og:image:height`,content:`630`},{property:`og:image:alt`,content:`${a[t]} logo`},{name:`twitter:image`,content:_},{name:`twitter:image:alt`,content:`${a[t]} logo`}];d&&v.push({name:`robots`,content:`noindex, nofollow`});let y=[{rel:`canonical`,href:g}];if(h&&!d){for(let[e,t]of Object.entries(h))y.push({rel:`alternate`,hrefLang:`en`,href:m(e,t)});y.push({rel:`alternate`,hrefLang:`x-default`,href:g})}return{meta:v,links:y}}export{g as a,_ as c,a as i,p as l,s as n,o,i as r,h as s,c as t,n as u};

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