..........................................................................................................................................................................::::::::::...........................................................................................:::::::::::::::::...........................................................................................::::..............::.:.................................................................................:........::::::::::::::::::::::::::............::::.:::::::::::::..................:::::::::::::::...................:.:.:::::::::::::::::::::::::::::::....................::.........................................................................................................................................::::::::::::::::.........................................................:::::.:.................................................................................................................................::::.:::::::::::::::::