Fields:
  edit_text = ['', 'rrdduullffrrdduullbb', 'rrrr', 'ufu-d-ffl-rfbuf-b-lr-ffd', 'urluur-l-urluur-l-']
  game_pos = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
  game_len = [0, 4, 14, 18, 20]
  solved = [False, True]
Conditions:
  game_len == len(edit_text.translate({c:None for c in b'-'}))
  game_pos <= game_len
  solved == (game_pos in [0, game_len])
Limits:
Initial-State: edit_text='', game_pos=0, game_len=0, solved=True
Transition: action_new_solved
  State: 
         edit_text='', game_pos=0, game_len=0, solved=True
Transition: edit_moves_key_enter (Qt.Key_Right, Qt.ControlModifier)
  Expression: game_pos = min(game_pos+1, game_len)
  Expression: solved = game_pos+1 >= game_len
  State: 
Transition: edit_moves_key_enter Qt.Key_Home
  State: 
         game_pos=0, solved=True
Transition: edit_moves_text ''
  State: 
         edit_text='', game_pos=0, game_len=0, solved=True
Transition: edit_moves_text 'rrdduullffrrdduullbb'
  State: 
         edit_text='rrdduullffrrdduullbb', game_pos=20, game_len=20, solved=True
Transition: edit_moves_text 'rrrr'
  State: 
         edit_text='rrrr', game_pos=4, game_len=4, solved=True
Transition: edit_moves_text 'ufu-d-ffl-rfbuf-b-lr-ffd'
  State: 
         edit_text='ufu-d-ffl-rfbuf-b-lr-ffd', game_pos=18, game_len=18, solved=True
Transition: edit_moves_text 'urluur-l-urluur-l-'
  State: 
         edit_text='urluur-l-urluur-l-', game_pos=14, game_len=14, solved=True
