Overleg gebruiker:Jufwiki: verschil tussen versies
Regel 1: | Regel 1: | ||
− | + | lololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololol | |
− | |||
− |
Versie van 24 jun 2013 10:28
lololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololollololololololololololololololololololololol