ssTTsSTtRrriinInnnnNNNIiinngg Challenge

For each character of the string except for the last one, do the following:


Output the current character.
Followed by randomly outputting from the following list a random number of times between 1 - 5 (inclusive):


The current character
The next character of the string
The switchcase version of the character that you are currently on
The switchcase version of the next character of the string.



Test Cases

String --> SSSTSStrTrIiinIIngn

, . , . , . Hello world! --> ,,,  ..    , ,,    ....    , ,   .. .. .   HHH HHEeelLlLllooO   wwOworOOrrrRllDd!!D

Programming Puzzles and Code Golf --> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG  PPPPuZzZZzZzzZzllLLEEeEsEsssS  a aANnNddD C  COCoooOOdeDe   E GGGoOllFFf

Notes


You only need to apply the switchcase version of a character if the character is part of the alphabet (A-Z and a-z).
Your random function does not need to be uniform but it still needs to have a chance of returning any element in the list given.
You are allowed to use any standard I/O format.
You may assume that the length of the input is greater than or equal to two.
You may assume that the input only consists of ASCII characters.
The title is not a test case (it is unintentional if it is a valid test case).
Switchcase means to turn the char to lowercase if it is uppercase and to turn it to uppercase if it is lowercase.
Gaia, 25 bytes

ṇ\+†ṅ\⟨)₌¤:~+4ṛ⟨ṛ₌¤⟩ₓ\⟩¦$


Try it online!

Thanks to Kevin Cruijssen for pointing out 2 bugs!

ṇ\&#9;&#9;&#9;&#9;| delete the last character from the input
  +†&#9;&#9;&#9;&#9;| push the input again and concatenate together, so for instance
&#9;&#9;&#9;&#9;| 'abc' 'bc' becomes ['ab' 'bc' 'c']
    ṅ\&#9;&#9;&#9;&#9;| delete the last element
       ⟨       &#9;&#9;⟩¦&#9;| for each of the elements, do:
&#9;)₌&#9;&#9;&#9;| take the first character and push again
&#9;  ¤&#9;&#9;&#9;| swap
&#9;   :&#9;&#9;&#9;| dup
&#9;    ~&#9;&#9;&#9;| swap case
&#9;     +&#9;&#9;&#9;| concatenate strings
&#9;      4ṛ&#9;&#9;| select a random integer from [1..5]
&#9;        ⟨    ⟩ₓ&#9;&#9;| and repeat that many times
&#9;&#9; ṛ₌¤&#9;&#9;| select a random character from the string
&#9;&#9;      \ &#9;| clean up stack
&#9;&#9;&#9;   $&#9;| convert to string

Note that 4ṛ is because ṛ is implemented for an integer z as python's random.randint(1,z+1), which returns an integer N such that 1&lt;=N&lt;=z+1.