¡Ú¥Ý¥Ý¥ó¥Ç¥Ã¥¿Àž€š€Æ€¿¡÷Àîºê¥¢¥Œ¥ê¥¢¡Û ¡ÊGORRY¡Ë
¡Ú€³€ì€Ï³Î€«€ËÃÏžµ°Šw¡÷¥Ý¥Ý¥ó¥Ç¥Ã¥¿Àîºê¥¢¥Œ¥ê¥¢¡Û ¡ÊGORRY¡Ë
¡Ú€Û€ë€â¡Œ€ó¡÷€ª€µ€ä€ó¡Û ¡ÊGORRY¡Ë
¡Ú¥Û¥ë¥â¥ó@€ª€µ€ä€ó¡Û ¡ÊGORRY¡Ë
¡Úº£Æü€Ï€³€Îžå±¿ÅŸ€·€Æµ¢€é€Ê€€€È€€€±€Ê€€€Î€Ç¥Î¥ó¥¢¥ë¡Ä¡÷ŒÂ²È¡Û ¡ÊGORRY¡Ë
¡Ú¿·ÅìÌŸ¡¢ÁêÌÏÀîÅÏ€ë€È€³€Þ€Ç¹©»ö¿Ê€ó€À€ó€À€Ê¡Û ¡ÊGORRY¡Ë
¡ÚÃëÈÓ¡Û ¡ÊGORRY¡Ë
¡Ú¥é¡Œ¥á¥ó¥Á¥ã¡Œ¥Ï¥ó¡÷ëµ¡Û ¡ÊGORRY¡Ë
¡ÚPoD: Potion of Death¡Û ¡ÊGORRY¡Ë
¡ÚPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoD = Potion of Death¡Û ¡ÊGORRY¡Ë