4YGEYIJPOV2TYQ7XYP4TXNCQJQBKIJCJTJYR4WT26U6IVYMQCLQAC 22UKX65B6LPWOULTG44ZI6YOWSNKSQSHGFJ37O2UH7YJNDL2UD4QC FHZ5AG3MCKSJQWTENRB54NDDPPG6NNOVRBYBS4F3T7JCGKY3AANQC 4HDOT2GEQA34NQ4ITYZRAWU7ND7RNMZTJQJRJLPXUCNFXG5U46NAC 2L5MEZV344TOZLVY3432RHJFIRVXFD6O3GWLL5O4CV66BGAFTURQC B3PRPOPHWEAH3VNU2JFZU4YFGGDP6ZVFPLRUOH7OGH3SYIRIRJVAC S7CSVBHZ4AORIP4VIQETFAVXVMNKERVOI5DENNTU73ZO2L667N7QC R5NILP5MSXYBOE6IHU4SZIOV4LWZEBFBGMFQL5WLX3QYPBXQDWZQC function edit.put_cursor_on_next_line_wrapping_around_if_necessary(State)local line = State.cursor1.linelocal max = #State.linesfor _ = 1, max-1 doline = (line+1) % maxif State.lines[line].mode == 'text' thenState.cursor1.line = lineState.cursor1.pos = 1breakendendendfunction edit.put_cursor_on_next_loc_wrapping_around_if_necessary(State)local cursor_line = State.lines[State.cursor1.line].dataif State.cursor1.pos <= utf8.len(cursor_line) thenState.cursor1.pos = State.cursor1.pos + 1elseendend