solamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolamesolame