code: def yield_lines(iterable):
      r"""
      Yield valid lines of a string or iterable.
  
      >>> list(yield_lines(''))
      []
      >>> list(yield_lines(['foo', 'bar']))
      ['foo', 'bar']
      >>> list(yield_lines('foo\nbar'))
      ['foo', 'bar']
      >>> list(yield_lines('\nfoo\n#bar\nbaz #comment'))
      ['foo', 'baz #comment']
      >>> list(yield_lines(['foo\nbar', 'baz', 'bing\n\n\n']))
      ['foo', 'bar', 'baz', 'bing']
      """
      return itertools.chain.from_iterable(map(yield_lines, iterable))
  
imports: import re
  import itertools
  import textwrap
  import functools
  from setuptools.extern.jaraco.functools import compose, method_cache
  from setuptools.extern.jaraco.context import ExceptionTrap
label_desc: Use image node_id 14 for calling a global function with example usage: yield_lines(iterable) and returns: itertools