1import{i as e}from"./progress-keys-YrK03vzt.js";import{f as t}from"./index-paIisdzt.js";function n(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function r(e,t){return Array.isArray(e)&&e.length===t.givens.length&&e.every((e,n)=>(e===0||e===1||e===2)&&(!t.givens[n]||e===t.givens[n]))}function i(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?Math.min(e,1e9):0}function a(e){return{started:!1,code:e.id,seconds:0,moves:0,hints:0,game:t(e)}}function o(e){return JSON.stringify(e)}function s(e,t){let o=a(e);if(!t)return o;let s;try{s=JSON.parse(t)}catch{return o}if(!n(s)||s.code!==e.id||!n(s.game)||!r(s.game.board,e))return o;let c=Array.isArray(s.game.past)?s.game.past.slice(-200).filter(t=>r(t,e)):[];return{...o,started:s.started===!0||i(s.moves)>0,seconds:i(s.seconds),moves:Math.floor(i(s.moves)),hints:Math.floor(i(s.hints)),game:{...o.game,board:s.game.board,past:c}}}function c(t){return e(t)}function l(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||e<=0?0:Math.max(0,e-t)}function u(e,t,n){return!n&&l(e,t)<=0}function d(e){let t=Math.max(0,Math.floor(e));return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}export{s as a,a as i,u as n,o,l as r,c as s,d as t};
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.