¡Ú€È€ê€¢€š€º¥Ó¡Œ¥ë¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€¢€³€Š€À€€¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú»ÞÆŠ¡÷Ȭ»ÍÏ»¡Û ¡ÊGORRY¡Ë
¡Ú€«€ó€Ñ€Á»É¡Û ¡ÊGORRY¡Ë
¡ÚPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoDPoD = Potion of Death¡Û ¡ÊGORRY¡Ë
¡ÚPoD: Potion of Death¡Û ¡ÊGORRY¡Ë
¡Ú¥é¡Œ¥á¥ó¥Á¥ã¡Œ¥Ï¥ó¡÷ëµ¡Û ¡ÊGORRY¡Ë
¡ÚÃëÈÓ¡Û ¡ÊGORRY¡Ë
¡Ú¿·ÅìÌŸ¡¢ÁêÌÏÀîÅÏ€ë€È€³€Þ€Ç¹©»ö¿Ê€ó€À€ó€À€Ê¡Û ¡ÊGORRY¡Ë