1import{i as l}from"./urlGuardsBFjEFH91.js";import{t as p,i as f}from"./deviceAppIdsBqiQQIm5.js";const r="/app/",s="/device-app/";function d(t){var n;return((t==null?void 0:t.title)??((n=t==null?void 0:t.contentInfo)==null?void 0:n.title)??"").trim()}function i(t){const n=(t==null?void 0:t.url)??null;if(!n||!l(n))return null;try{return new URL(n).pathname}catch{return null}}function m(t){var n;return((n=i(t))==null?void 0:n.startsWith(r))??!1}function h(t){const n=i(t);if(!(n!=null&&n.startsWith(r)))return null;const e=n.slice(r.length).split("/")[0];return e?decodeURIComponent(e):null}function a(t){var n;return((n=i(t))==null?void 0:n.startsWith(s))??!1}function I(t){return m(t)||a(t)}function A(t){var n;return((n=c(t))==null?void 0:n.pkg)??null}function c(t){const n=i(t);if(!(n!=null&&n.startsWith(s)))return null;const e=n.slice(s.length).split("/").filter(Boolean);if(e.length<2)return null;const o=e[0],u=decodeURIComponent(e[e.length-1]);return{platform:f(o)?o:"android",pkg:u}}function v(t){const n=c(t);return n?p(n.platform,n.pkg):null}function R(t){switch(t){case"macos":return"Mac";case"windows":return"Windows";case"linux":return"Linux";case"steam":return"Steam";case"ios":return"iPhone";case"android":return"Phone";default:return"Device"}}function U(t){return t==="macos"||t==="windows"||t==="linux"?"laptop":t==="steam"?"controller":"phone"}function w(t){const n=d(t);return a(t)?n||A(t)||"App":n&&n!=="Kindredly"?n:"Kindredly app"}export{w as a,U as b,R as c,A as d,v as e,I as f,m as g,h,a as i};
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.