code: def get_nonblank_spans(self) -> List[Span]:
      lines = [l for b in self.blocks for l in b.lines]
      spans = [s for l in lines for s in l.spans if s.text.strip()]
      return spans
  
imports: from collections import Counter
  from typing import List, Optional, Tuple
  from pydantic import BaseModel, field_validator
  import ftfy
  from marker.bbox import boxes_intersect_pct, multiple_boxes_intersect
  from marker.settings import settings
label_desc: Use image node_id 3 for calling the Page obj's underlying member method code with example usage: obj.get_nonblank_spans() and returns: spans