while read -r a b c d; do
if [[ $b = *';'* ]]; then
IFS=';' read -r -a ba <<<"$b"
IFS=';' read -r -a ca <<<"$c"
for idx in "${!ba[@]}"; do
printf '%s\t%s\t%s\t%s\n' "$a" "${ba[idx]}" "${ca[idx]}" "$d"
done
else
printf '%s\t%s\t%s\t%s\n' "$a" "$b" "$c" "$d"
fi
done
d2hpbGUgcmVhZCAtciBhIGIgYyBkOyBkbwogIGlmIFtbICRiID0gKic7JyogXV07IHRoZW4KICAgIElGUz0nOycgcmVhZCAtciAtYSBiYSA8PDwiJGIiCiAgICBJRlM9JzsnIHJlYWQgLXIgLWEgY2EgPDw8IiRjIgogICAgZm9yIGlkeCBpbiAiJHshYmFbQF19IjsgZG8KICAgICAgcHJpbnRmICclc1x0JXNcdCVzXHQlc1xuJyAiJGEiICIke2JhW2lkeF19IiAiJHtjYVtpZHhdfSIgIiRkIgogICAgZG9uZQogIGVsc2UKICAgIHByaW50ZiAnJXNcdCVzXHQlc1x0JXNcbicgIiRhIiAiJGIiICIkYyIgIiRkIgogIGZpCmRvbmU=
MSAgIDEyMzQ5ICAgMTIzOTggICArCjEgICAyMzUyMyAgIDIzNTc4ICAgLQoxICAgMjM1NTA7MjM1NzA7MjM1OTAgICAyMzY0MDsyMzY4OTsyMzY1MiAgICsKMSAgIDQzNTMzICAgNDM1NjkgICArCjEgICA1NjAyMTs1NjA3OCAgIDU2MDk5OzU2MTU1ICAgKwo=
1 12349 12398 +
1 23523 23578 -
1 23550;23570;23590 23640;23689;23652 +
1 43533 43569 +
1 56021;56078 56099;56155 +