class_docstr: Class to convert between character offsets in a text string, and pairs (line, column) of 1-based
  line and 0-based column numbers, as used by tokens and AST nodes.
  
  This class expects unicode for input and stores positions in unicode. But it supports
  translating to and from utf8 offsets, which are used by ast parsing.
code: def __init__(self, text):
      # type: (str) -> None
      # A list of character offsets of each line's first character.
      self._line_offsets = [
          m.start(0) for m in _line_start_re.finditer(text)
      ]
      self._text = text
      self._text_len = len(text)
      self._utf8_offset_cache = {}
  
file_path: catboost/contrib/python/asttokens/asttokens/line_numbers.py
imports: import bisect
  import re
  from typing import Dict, List, Tuple
label_desc: Use image node_id 1 to create a new LineNumbers object from inherited base classes: object with example: obj = LineNumbers(text)