tag:blogger.com,1999:blog-36287115214518994982024-03-19T03:51:56.601-05:00iMeowbot’s stuffiMeowbothttp://www.blogger.com/profile/17450589648302638336noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-3628711521451899498.post-21951648647985468032007-06-23T04:41:00.001-05:002008-12-09T10:05:45.295-05:00Alphabet<span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib10SM-7oiEVSvtQOgWMSg_1cuTgzixZMjgMvrlTZL6pVHr88ahaWFExguefaKxsIhM7mgfPN7ziddqlHJMy69k0Fqu8x2d50uP-rt6FKa1p20S3VNC4QHqgD9clOXcpwtpHwghBfq6P4/s1600-h/A.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib10SM-7oiEVSvtQOgWMSg_1cuTgzixZMjgMvrlTZL6pVHr88ahaWFExguefaKxsIhM7mgfPN7ziddqlHJMy69k0Fqu8x2d50uP-rt6FKa1p20S3VNC4QHqgD9clOXcpwtpHwghBfq6P4/s400/A.gif" alt="" id="BLOGGER_PHOTO_ID_5079194660707126338" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1tnq8nbfvEd69m_uGLaP5IL8YZLCERs4-d0W19Fgn5e4KeMbzjvEFG8vEvub5Edmo3B_NZ8k6-5-bQtar7b_Z7Dx0SdaJ_nHew-8NN3ioh8Q2PDnRnR8_9nhLDrr3pj-AdZnrxGESvoc/s1600-h/B.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1tnq8nbfvEd69m_uGLaP5IL8YZLCERs4-d0W19Fgn5e4KeMbzjvEFG8vEvub5Edmo3B_NZ8k6-5-bQtar7b_Z7Dx0SdaJ_nHew-8NN3ioh8Q2PDnRnR8_9nhLDrr3pj-AdZnrxGESvoc/s400/B.gif" alt="" id="BLOGGER_PHOTO_ID_5079194665002093650" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHP5DrYTTwsm3muc802BqeUeoIshjDhzaqlRjhgYyVC7x6F2cjAVQtsR-ifwPNTjF2raMBS39jnu6T0yxyYmh8_p3EYvpNF-nICLuFBd9_6AXGS4dTuVpLPEIYcCLHi5C-VvG1_rY3zI/s1600-h/C.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVHP5DrYTTwsm3muc802BqeUeoIshjDhzaqlRjhgYyVC7x6F2cjAVQtsR-ifwPNTjF2raMBS39jnu6T0yxyYmh8_p3EYvpNF-nICLuFBd9_6AXGS4dTuVpLPEIYcCLHi5C-VvG1_rY3zI/s400/C.gif" alt="" id="BLOGGER_PHOTO_ID_5079194665002093666" border="0" /></a> </span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgux-BESJm9IjlE4XHL5y2VezBkGdwZy-d68wlwU90TiK1qATk4x4pNBGfq_C0NDStYC7NyYqm2vBdduQ02x8hc0eY0GkhBEZ6A0MigCawpPln9f0pKKFYEeR3TZW0m402HUYNjS9ZutIA/s1600-h/D.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgux-BESJm9IjlE4XHL5y2VezBkGdwZy-d68wlwU90TiK1qATk4x4pNBGfq_C0NDStYC7NyYqm2vBdduQ02x8hc0eY0GkhBEZ6A0MigCawpPln9f0pKKFYEeR3TZW0m402HUYNjS9ZutIA/s400/D.gif" alt="" id="BLOGGER_PHOTO_ID_5079194665002093682" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq9VRVky1FUlDRvD8hmaBPRs-x_SeYKmdcD2Fos7gbji0LnmzBxG45FNPRNBfswbNdhAxgKeNP_46G-hWhPCMbRtYUY5ulnI_5vI68krF_kbvR_zkIezmQG5lSwtMUVaods1uD59AR464/s1600-h/E.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq9VRVky1FUlDRvD8hmaBPRs-x_SeYKmdcD2Fos7gbji0LnmzBxG45FNPRNBfswbNdhAxgKeNP_46G-hWhPCMbRtYUY5ulnI_5vI68krF_kbvR_zkIezmQG5lSwtMUVaods1uD59AR464/s400/E.gif" alt="" id="BLOGGER_PHOTO_ID_5079194669297060994" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXIGpYZP8K6ioPjaYdS2Qy78TyswDM2c4Cqv9S4JdjQ4vcFiGo6hIKSm3nqCa84PX6BdBl8uTG56h3OtD11UBEtQXKgAG-PTWdqz-z4NwPocNNn23r3_tyJU812KytPAOAs9sVT0U9pN4/s1600-h/F.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXIGpYZP8K6ioPjaYdS2Qy78TyswDM2c4Cqv9S4JdjQ4vcFiGo6hIKSm3nqCa84PX6BdBl8uTG56h3OtD11UBEtQXKgAG-PTWdqz-z4NwPocNNn23r3_tyJU812KytPAOAs9sVT0U9pN4/s400/F.gif" alt="" id="BLOGGER_PHOTO_ID_5079195244822678674" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGFYZhCJ-Bd_MYjIw9YG1DjqtMpKVvn-kxxAby-mGF6NDAqnpUjDBCLEJFcQYqnNrgf12BXKYFYp6rh64CSeSYhuluahIEhnfnfsjBd2A_yvjnuezzbjai8Uk4YT1KAM51Vdc1VChh50U/s1600-h/G.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGFYZhCJ-Bd_MYjIw9YG1DjqtMpKVvn-kxxAby-mGF6NDAqnpUjDBCLEJFcQYqnNrgf12BXKYFYp6rh64CSeSYhuluahIEhnfnfsjBd2A_yvjnuezzbjai8Uk4YT1KAM51Vdc1VChh50U/s400/G.gif" alt="" id="BLOGGER_PHOTO_ID_5079195244822678690" border="0" /></a></span><span style="font-size:180%;">,<br /></span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6pveJNa2bQlELMmxGwx5_iRRceH3yo4R94rbw0VG7ZR2ZMSaLd19z7phcTNoWJkTmJTmrs2ZoGN1d26ClSH8zpYyq5PIOqLWtXM19y7WDnzMBIrsBBCD5T9OpLlkpdkiB-_STH9ClLQQ/s1600-h/H.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6pveJNa2bQlELMmxGwx5_iRRceH3yo4R94rbw0VG7ZR2ZMSaLd19z7phcTNoWJkTmJTmrs2ZoGN1d26ClSH8zpYyq5PIOqLWtXM19y7WDnzMBIrsBBCD5T9OpLlkpdkiB-_STH9ClLQQ/s400/H.gif" alt="" id="BLOGGER_PHOTO_ID_5079195244822678706" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWqJSeSyecYHi4J1qTFDKNzEDpvmlcyK3jU9ALcOB0-OtxMOYoAQ9v7WmHEH2afWMk4G6qEB_Z907xi4cay_VKBhM19PqQSY3LGghyB2CQJlqfoHMwaAIhfxrbtFrnDItLe8ScisDMcs/s1600-h/I.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWqJSeSyecYHi4J1qTFDKNzEDpvmlcyK3jU9ALcOB0-OtxMOYoAQ9v7WmHEH2afWMk4G6qEB_Z907xi4cay_VKBhM19PqQSY3LGghyB2CQJlqfoHMwaAIhfxrbtFrnDItLe8ScisDMcs/s400/I.gif" alt="" id="BLOGGER_PHOTO_ID_5079195249117646018" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS1cp7mVsKsa7gyV-e60uY0DVs7t5p33O32276ECsO-bX_BHeXaFJcwH8ZOMieujgcDWhJuBbnUfXYAex1dVzV8BLqqsUSGj4-V0QgT5mL1JOvVaCvFbrINf5-paAHRAse_u6Y_KOyZLA/s1600-h/J.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS1cp7mVsKsa7gyV-e60uY0DVs7t5p33O32276ECsO-bX_BHeXaFJcwH8ZOMieujgcDWhJuBbnUfXYAex1dVzV8BLqqsUSGj4-V0QgT5mL1JOvVaCvFbrINf5-paAHRAse_u6Y_KOyZLA/s400/J.gif" alt="" id="BLOGGER_PHOTO_ID_5079195249117646034" border="0" /></a> </span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP7ZP7x947lPalULD7Wa23jo1ul6Fuz99KHyKeZe7FvQlgOklZQJ_9hojDB8zeJzSLa1WIPUdyq6ISmmYVSAzcFZqE66Iy3yDKSTknxDLsgYxCd44Hhs1K4HyD0lOUtk3rViEQ3amQeh4/s1600-h/K.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP7ZP7x947lPalULD7Wa23jo1ul6Fuz99KHyKeZe7FvQlgOklZQJ_9hojDB8zeJzSLa1WIPUdyq6ISmmYVSAzcFZqE66Iy3yDKSTknxDLsgYxCd44Hhs1K4HyD0lOUtk3rViEQ3amQeh4/s400/K.gif" alt="" id="BLOGGER_PHOTO_ID_5079196236960124130" border="0" /></a></span><span style="font-size:180%;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiumayNmGhB-QQicLxFEBYxiVP0rZS3DAxgK-57BrpBAKu1LmVbadMuLXLORpbeAaz-pblT5Hot-ns2r-TCh6fso26_A6Lp2B3DvS7E2b9S4ZaBLEMs6PlEQ-Tw4qIvCnZOVvzVggNI50/s1600-h/L.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiumayNmGhB-QQicLxFEBYxiVP0rZS3DAxgK-57BrpBAKu1LmVbadMuLXLORpbeAaz-pblT5Hot-ns2r-TCh6fso26_A6Lp2B3DvS7E2b9S4ZaBLEMs6PlEQ-Tw4qIvCnZOVvzVggNI50/s400/L.gif" alt="" id="BLOGGER_PHOTO_ID_5079196241255091442" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhOUbedsLahxcuLi-vy0z3zvHSwefGyGIF4nKMwEWjwurOeb9bq3BRsEnJMdZ2k4hiJbp0Nz7xyIBBgD9_xaf9AnHANK8GqrKvBf2MncronmFThGIT_fmFv2ElaGu6ICogxa_Vkn1mlU8/s1600-h/M.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhOUbedsLahxcuLi-vy0z3zvHSwefGyGIF4nKMwEWjwurOeb9bq3BRsEnJMdZ2k4hiJbp0Nz7xyIBBgD9_xaf9AnHANK8GqrKvBf2MncronmFThGIT_fmFv2ElaGu6ICogxa_Vkn1mlU8/s400/M.gif" alt="" id="BLOGGER_PHOTO_ID_5079196241255091458" border="0" /></a> </span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguMo96LxdCHkWGwoUhhGVMChGdSiM70OpruGFRxwSqkfVum1VhGeJFVmoVHXznXix1bfd3nUtt49Pw0sJic8wFN3SQa_K84O2UJAttPZVnFSGiwgZZKrQGmLZgeJBpoDdZSE8X49tgGrA/s1600-h/N.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguMo96LxdCHkWGwoUhhGVMChGdSiM70OpruGFRxwSqkfVum1VhGeJFVmoVHXznXix1bfd3nUtt49Pw0sJic8wFN3SQa_K84O2UJAttPZVnFSGiwgZZKrQGmLZgeJBpoDdZSE8X49tgGrA/s400/N.gif" alt="" id="BLOGGER_PHOTO_ID_5079196241255091474" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjETwDRUFAWKyWVTCy1HeSDGhj7rg1nQb-OTScItf1d8aVJrX-5gfmQNEK_op7XY2O3P4DkVbDa6AToebma7rPH752ayr0F-tMra6qYmFZO11DZWFpk5YJtkWu12J2fYjpJgpPMjbAiceY/s1600-h/O.gif"><img style="cursor: pointer; width: 68px; height: 75px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjETwDRUFAWKyWVTCy1HeSDGhj7rg1nQb-OTScItf1d8aVJrX-5gfmQNEK_op7XY2O3P4DkVbDa6AToebma7rPH752ayr0F-tMra6qYmFZO11DZWFpk5YJtkWu12J2fYjpJgpPMjbAiceY/s400/O.gif" alt="" id="BLOGGER_PHOTO_ID_5079201133222841778" border="0" /></a></span><span style="font-size:180%;"> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEDmQ9BqrT0y19wnLwfgnkpL6WmaPfZ8IhtNdXUK2tP3AVpiS3sgoTP46PlupDogBkCSdr1QkE8JJAdKweJCRYvek62mrmFwPcKqgNUhZ3-saKbsJsl7Db3r0rMIBlM0Q2nK41X-n_nXg/s1600-h/P.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEDmQ9BqrT0y19wnLwfgnkpL6WmaPfZ8IhtNdXUK2tP3AVpiS3sgoTP46PlupDogBkCSdr1QkE8JJAdKweJCRYvek62mrmFwPcKqgNUhZ3-saKbsJsl7Db3r0rMIBlM0Q2nK41X-n_nXg/s400/P.gif" alt="" id="BLOGGER_PHOTO_ID_5079197130313321778" border="0" /></a></span><span style="font-size:180%;">.<br /></span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeRV_16gmRI0lZ3vErQAW-ddQ5TodYiI33y_8KRMXraA3LNVQu_g25JO4_whlHb5oI2CTOz9VMx83ufTc-8O9_2a1UKZNclyT7PKcqKzMgQrSm3ZOQiyQBU_mziGGSsxbpcAqlvLvgEHc/s1600-h/Q.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeRV_16gmRI0lZ3vErQAW-ddQ5TodYiI33y_8KRMXraA3LNVQu_g25JO4_whlHb5oI2CTOz9VMx83ufTc-8O9_2a1UKZNclyT7PKcqKzMgQrSm3ZOQiyQBU_mziGGSsxbpcAqlvLvgEHc/s400/Q.gif" alt="" id="BLOGGER_PHOTO_ID_5079197130313321794" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwBS8UXaddkrvxRa-sgQRrJjFBnc0w_ZZf5Sp5f6xccIL1mDYzNok0WD97gGnk30vpEF5QamsG7PnSDor3Dj54h8KM8T3MwjG81YpGdo7zKio2-4ZJWtrAPSDxg342B4pxLZNVQ6RF5rM/s1600-h/R.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwBS8UXaddkrvxRa-sgQRrJjFBnc0w_ZZf5Sp5f6xccIL1mDYzNok0WD97gGnk30vpEF5QamsG7PnSDor3Dj54h8KM8T3MwjG81YpGdo7zKio2-4ZJWtrAPSDxg342B4pxLZNVQ6RF5rM/s400/R.gif" alt="" id="BLOGGER_PHOTO_ID_5080583377231530594" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_Ao54L4EV2vlieXr_knEY9BAV2AV2GH6Jn2PPVNMQOSTH_naI6NrKE4KzgYYD-FFsorHejXWXefeWp0yViN22WStoJF29m4sqo_K5JuFRbqTYnprXXcTY4UEqqWiWQmMrL9vfVL6WW0/s1600-h/S.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS_Ao54L4EV2vlieXr_knEY9BAV2AV2GH6Jn2PPVNMQOSTH_naI6NrKE4KzgYYD-FFsorHejXWXefeWp0yViN22WStoJF29m4sqo_K5JuFRbqTYnprXXcTY4UEqqWiWQmMrL9vfVL6WW0/s400/S.gif" alt="" id="BLOGGER_PHOTO_ID_5083243813118659186" border="0" /></a></span><span style="font-size:180%;">,<br /></span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKjsj5bQQEnfNLbMCquDj4-qbgIu5VofJWi8gwAr1JmvxTIYOUiBakSIyPSy8zKgp9RNAfw9Me4KPXm6awNsZ4ltFCZmzV4gtOK0NgYFIkV1q5UuXIDa098bR0dbmcRmNJKCXFuKwfxO8/s1600-h/T.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKjsj5bQQEnfNLbMCquDj4-qbgIu5VofJWi8gwAr1JmvxTIYOUiBakSIyPSy8zKgp9RNAfw9Me4KPXm6awNsZ4ltFCZmzV4gtOK0NgYFIkV1q5UuXIDa098bR0dbmcRmNJKCXFuKwfxO8/s400/T.gif" alt="" id="BLOGGER_PHOTO_ID_5084156497964026498" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwhOD_VJlHO2lIWi1jeSk0XmRwVCgh0Z5FW4yWPLAh2P5tEDknsptqbijxS9L72QtjDed4ufzJiiYxgn84Pe2hlyC0oZbfyHhN1sNPx3KnExUGlb231hrOB4mV8RJjOvmY8-pTWCk02k/s1600-h/U.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwhOD_VJlHO2lIWi1jeSk0XmRwVCgh0Z5FW4yWPLAh2P5tEDknsptqbijxS9L72QtjDed4ufzJiiYxgn84Pe2hlyC0oZbfyHhN1sNPx3KnExUGlb231hrOB4mV8RJjOvmY8-pTWCk02k/s400/U.gif" alt="" id="BLOGGER_PHOTO_ID_5084859077304240802" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WidV9YRfUvE_lXwLsW3HBcP529WArIvQspRsQ9MerHl-GxzJwb_mjeQzevmXF0xKMolH_m968TqCsCmiK8_Y9mKs5cE3uX1TtHdKNuZ-2zjbicAEMxQHYhFLm6jnrLEW3I_1o6Lka3w/s1600-h/V.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WidV9YRfUvE_lXwLsW3HBcP529WArIvQspRsQ9MerHl-GxzJwb_mjeQzevmXF0xKMolH_m968TqCsCmiK8_Y9mKs5cE3uX1TtHdKNuZ-2zjbicAEMxQHYhFLm6jnrLEW3I_1o6Lka3w/s400/V.gif" alt="" id="BLOGGER_PHOTO_ID_5087272807379380466" border="0" /></a>,<br /></span><span style="font-size:180%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK2UFJcS2d8wAJ3P-wFjaseyvaRsp3m4437srjqPBoJTMzFVN37Bs-4GtM2tsXlZPhCQOziqPBiwx8q7bVADqiFv0LYgkv9QNiYtl9P2kc7YBGkW5PwGKgwfpcswR04qzltcpcISDcgU8/s1600-h/W.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK2UFJcS2d8wAJ3P-wFjaseyvaRsp3m4437srjqPBoJTMzFVN37Bs-4GtM2tsXlZPhCQOziqPBiwx8q7bVADqiFv0LYgkv9QNiYtl9P2kc7YBGkW5PwGKgwfpcswR04qzltcpcISDcgU8/s400/W.gif" alt="" id="BLOGGER_PHOTO_ID_5088227484120000770" border="0" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSfunPIqVOUMQuRCSxl2W70Obn7HFGimyCMTzqOaQmyx-MZ_vNEtIYuhTGLxfDD7QVRQrNNH2ph_WJxnpGWJJmzFg3IMUMK32wThuFta_xzq_H5JdhgArZrCDb-F2ytvhyphenhyphenZreODCjNG_A/s1600-h/X.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSfunPIqVOUMQuRCSxl2W70Obn7HFGimyCMTzqOaQmyx-MZ_vNEtIYuhTGLxfDD7QVRQrNNH2ph_WJxnpGWJJmzFg3IMUMK32wThuFta_xzq_H5JdhgArZrCDb-F2ytvhyphenhyphenZreODCjNG_A/s400/X.gif" alt="" id="BLOGGER_PHOTO_ID_5089917663660226178" border="0" /></a>,<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMbswRWtyG54RnWmTRSh-X6eLzDS0yzAOk7DiUPr2a3khUtCP0CAKUbb_DsBkuj-E4Zq8B8HT0eCwAHBFT4YWR3zfH3A0XPXAtPLooXuH14tUY5eFxIOoJlz_9DGEe73iZKd2lcLGmxug/s1600-h/Y.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMbswRWtyG54RnWmTRSh-X6eLzDS0yzAOk7DiUPr2a3khUtCP0CAKUbb_DsBkuj-E4Zq8B8HT0eCwAHBFT4YWR3zfH3A0XPXAtPLooXuH14tUY5eFxIOoJlz_9DGEe73iZKd2lcLGmxug/s400/Y.gif" alt="" id="BLOGGER_PHOTO_ID_5089945606717453970" border="0" /></a></span><span style="font-size:180%;"> and <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyOK29hlWUGiVhjc37XGxeW8FtFyckQo5jjElCcrCrYPin3uvCL_EsJkFDrVf8RRSuWL8Hc2SG-TKj6aUSjJnBlwWDxA9cCsG9aB-2mySpoFZew4P2c7MPmQXcWsSzG-gljlhz5D48f2g/s1600-h/Z.gif"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyOK29hlWUGiVhjc37XGxeW8FtFyckQo5jjElCcrCrYPin3uvCL_EsJkFDrVf8RRSuWL8Hc2SG-TKj6aUSjJnBlwWDxA9cCsG9aB-2mySpoFZew4P2c7MPmQXcWsSzG-gljlhz5D48f2g/s400/Z.gif" alt="" id="BLOGGER_PHOTO_ID_5089953341953554082" border="0" /></a>.<br /><br />Four months drawing ABCs,<br />I must be out of my tree.<br /></span>iMeowbothttp://www.blogger.com/profile/17450589648302638336noreply@blogger.com1tag:blogger.com,1999:blog-3628711521451899498.post-26205278046851264912006-12-13T04:55:00.000-05:002008-12-09T10:05:46.533-05:00Mail and IMAP on Mac OS X TigerFrom time to time I like to play with different email clients on my Mac, just to see what interesting new ideas may be out there. The only trouble is the old mail, locked up in whatever “new and improved” strange format or folder layout was invented that week. Most mail programs have import or export facilities of some sort, but they don't always work so well.<br /><br />To make life easier in the longer term, I took to running a local <a href="http://www.imap.org/">IMAP</a> server. Just about all modern mail clients can use this, some better than others, but the recurring theme is that the mail seems to stand a good chance of making its way across clients intact.<br /><br />Initially, there may be some pain. If you're fortunate enough to be running a copy of OS X Server, you already have a nice <a href="http://cyrusimap.web.cmu.edu/imapd/">Cyrus</a> port at your disposal, and can simply wander over to Server Admin and turn it on. If you're one of the other 99.9% and don't really have a need for such a heavy duty operating system, this article is for you.<br /><br />So, which IMAP server shall we use? While Cyrus has a very nice IMAP implementation, it doesn't compile cleanly out of the box under OS X (Apple have, of course, come up with patches to make it run under X Server, but it's still a pain). There is also <a href="http://www.courier-mta.org/imap/">Courier</a>, but it too has complications and a long list of dependencies. If you really, really want to run these, give <a href="http://www.macports.org/">MacPorts</a> (formerly DarwinPorts) a look, but I did find these particular ports to be troublesome in the past. Over in the <a href="http://finkproject.org/">Fink</a> community, for whatever reasons, there doesn't seem to have been much interest in IMAP servers, but it doesn't hurt to check now and then.<br /><br />So, that leaves good old <a href="http://www.washington.edu/imap/">UW IMAP</a>, not the fastest or coolest of the bunch but a mature and reasonably reliable old beast. It's pretty easy to get this one built and running on the Mac, so right there it wins.<br /><br />The following all assumes that you are running OS X 10.4 Tiger. Earlier or later releases of OS X will have their own quirks and requirements.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Install Xcode</span></span><br /><br />So, the first thing you'll want to do is install Xcode, if you haven't done so already. You'll find it on your Tiger install disc, pop it in and you'll see an <span style=";font-family:courier new;font-size:85%;" >Xcode Tools</span> folder. When you run the installer, feel free to skip the WebObjects stuff, it's nifty in its own right but useless for our needs. Don't worry, you won't have to learn how to use it, but we need the compilers and tools that come with it.<br /><br />Can't find your install disc? That's okay. You can download the latest and greatest version from Apple, if you sign up for a free <a href="http://developer.apple.com/">ADC</a> account. I'll warn you now that the Developer Tools package is a 900 MB download.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Build IMAP</span></span><br /><br />Download the <a href="ftp://ftp.cac.washington.edu/mail/imap.tar.Z">IMAP source code</a> (a relatively paltry 2.6 MB this time!) and extract it if your browser doesn’t do it for you (double-click <span style=";font-family:courier new;font-size:85%;" >imap.tar.Z</span>, the Finder will do the rest with its little friend <a href="http://en.wikipedia.org/wiki/BOMArchiveHelper">BOMArchiveHelper</a>). Move the resulting <span style=";font-family:courier new;font-size:85%;" >imap-2006c1</span> (or close to that name) folder somewhere convenient. Fire up <a href="http://en.wikipedia.org/wiki/Terminal_%28application%29">Terminal</a>, navigate to the freshly extracted folder, and let's get to work. The magic command is<br /><span style=";font-family:courier new;font-size:85%;" ><blockquote>$ <span style="font-weight: bold;">make oxp</span></blockquote></span>Yes, that's <span style="font-weight: bold;">oxp</span>, not osx. This target is needed to get along with Tiger's <a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM</a> support. You may see a warning that IMAP will be built only with secure connections. That's fine, all modern clients can handle that and it's a good way to have things set up.<br /><br />If you really, really need plaintext password support because you want to play with older mail programs, you can have that too. Change your command to<br /><span><span style="font-family:courier new;"><blockquote><span><span style="font-size:85%;">$ <span style="font-weight: bold;">make oxp SSLTYPE=unix</span></span></span><span style="font-weight: bold;"><br /></span></blockquote><span style="font-weight: bold;"></span></span></span>…but again, you may want to avoid this unless you plan to use an elderly mail client without SSL or TLS support.<br /><br />When the build finishes and you get back to your shell prompt, give it a try and make sure it runs:<br /><blockquote style="font-family:courier new;"><span style="font-size:85%;">$ <span style="font-weight: bold;">imapd/imapd</span></span></blockquote>That should give you a lovely line of gobbledygook something like the following:<br /><blockquote style="font-family:courier new;"><span style=";font-family:courier new;font-size:85%;" >* PREAUTH [CAPABILITY IMAP4REV1 LITERAL+ IDLE UIDPLUS NAMESPACE MAILBOX-REFERRALS BINARY UNSELECT SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] Pre-authenticated user imeowbot meowcintosh.local IMAP4rev1 2006c.374 at Wed, 13 Dec 2006 06:28:24 -0500 (EST)</span><br /></blockquote>Ugly as it looks, it means that all is well. You can press Ctrl-C to get out.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Install the binary</span></span><br /><br />Check with the command <span style="font-weight: bold;font-family:courier new;font-size:85%;" >ls /usr/local</span> that there is a directory named <span style=";font-family:courier new;font-size:85%;" >libexec</span> there. If you don't have one, create it with <span style="font-weight: bold;font-family:courier new;font-size:85%;" >sudo mkdir /usr/local/libexec</span> (the password prompt is normal for sudo). Now that we're sure there is somewhere to put the lovely new IMAP daemon, install it with<br /><blockquote style="font-family:courier new;"><span style="font-size:85%;">$ <span style="font-weight: bold;font-family:courier new;" >sudo cp imapd/imapd /usr/local/libexec/</span><br />$ <span style="font-weight: bold;font-family:courier new;" >sudo chmod 755 /usr/local/libexec/imapd</span></span></blockquote>We're not quite done yet! There are still a few things we need to so that OS X will understand how to use the program.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Make a PAM configuration file</span></span><br /><br />Start up the nano text editor with<br /><blockquote style="font-family:courier new;"><span style="font-size:85%;">$ <span style="font-weight: bold;">sudo nano /etc/pam.d/imap</span></span></blockquote>Copy these lines and paste them into the terminal window:<br /><blockquote style="font-family:courier new;"><span style="font-size:85%;">auth required pam_nologin.so<br />auth sufficient pam_securityserver.so<br />auth sufficient pam_unix.so<br />auth required pam_deny.so<br />account required pam_permit.so<br />password required pam_deny.so<br />session required pam_uwtmp.so</span></blockquote>Then save: press Ctrl-X, answer Y to the save prompt, and press Return to use the suggested filename.<br /><br />At this point, we have the IMAP server in place, and we've told it how to let you log in. On to the next part: make it answer to your mail client.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Create the launch files</span></span><br /><br />This all used to be so simple, just add a bit of stuff to inetd. Then the cool kids all started using xinetd, so there was fun new syntax to learn. Not to be out-cooled, Apple came up with their very own Launch Services with their very own syntax (but it must be cooler, because it adds a bunch of XML tags). So, let's make an entry for our IMAP server!<br /><br />The magic command this time will be<br /><blockquote style="font-family:courier new;"><pre><span style="font-size:85%;">$ <span style="font-weight: bold;">sudo nano /Library/LaunchDaemons/edu.washington.imapd.plist</span></span></pre></blockquote>and paste in this mess:<br /><blockquote style="font-family:courier new;"><pre><?xml version="1.0" encoding="UTF-8"?><br /><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"<br />"http://www.apple.com/DTDs/PropertyList-1.0.dtd"><br /><plist version="1.0"><br /><dict><br /> <key>Disabled</key><br /> <false/><br /> <key>Label</key><br /> <string>edu.washington.imapd</string><br /> <key>ProgramArguments</key><br /> <array><br /> <string>/usr/local/libexec/imapd</string><br /> </array><br /> <key>inetdCompatibility</key><br /> <dict><br /> <key>Wait</key><br /> <false/><br /> </dict><br /> <key>InitGroups</key><br /> <true/><br /> <key>Sockets</key><br /> <dict><br /> <key>Listeners</key><br /> <dict><br /> <key>SockServiceName</key><br /> <string>imap</string><br /> </dict><br /> <key>Listeners2</key><br /> <dict><br /> <key>SockServiceName</key><br /> <string>imaps</string><br /> </dict><br /> </dict><br /></dict><br /></plist></pre></blockquote>and save.<br /><br />Now we will want to activate the new service. A reboot would take care of this, but who wants to reboot? Let's do this:<br /><blockquote style="font-family:courier new;"><span style="font-size:85%;">$ <span style="font-weight: bold;">sudo launchctl</span><br />launchd% <span style="font-weight: bold;">unload /Library/LaunchDaemons</span><br />launchd% <span style="font-weight: bold;">load /Library/LaunchDaemons</span><br />launchd% <span style="font-weight: bold;">start edu.washington.imapd</span></span> </blockquote>…and press Ctrl-D to exit.<br /><br /><span style="font-weight: bold;font-size:130%;" >Oh, just one more thing…</span><br /><br />We're going to need a certificate to make all this SSL happiness work, unless you opted for the plaintext login option back at the compile step. If you don't feel like making a certificate, you can go back, recompile, install the less secure version, and go play with your mail program (more on that later). You can leave the Launch Services and PAM stuff as is.<br /><br />Anyway, here is how to make a self-signed certificate. You can go buy an official one if you like, but that may be overkill for personal use.<br /><br /><span style="font-size:85%;"><span style="font-weight: bold;font-family:courier new;" >cd /System/Library/OpenSSL/certs</span></span> and run the following to make a cert good for ten years:<br /><blockquote face="courier new"><pre><span style="font-size:100%;">$ <span style="font-weight: bold;">openssl</span><br />OpenSSL> <span style="font-weight: bold;">req -new -x509 -nodes -out imapd.pem -keyout imapd.pem -days 3650</span><br />OpensSL> <span style="font-weight: bold;">exit</span></span></pre></blockquote>And boom, there should be a working imapd on localhost.<br /><br /><span style="font-weight: bold;"><span style="font-size:130%;">Using the thing</span><br /><br /></span>We haven't set up any kind of <a href="http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a> server here, so the IMAP server won't be getting new mail. It will only contain what you put in there yourself. Mail clients will be happy to automatically file things there if you set up filter rules to do that, it's your choice if you want to use this day to day, or only as a temporary storage spot when it comes time to move mail between clients.<br /><br />Create a folder called <span style=";font-family:courier new;font-size:85%;" >Mail</span> right inside your home folder, because that's the traditional spot and it's easy. This is where the IMAP server will put its stuff.<br /><br />Every mail client has its own configuration screen, but here are the important things to put into your account using plain old OS X Mail as an example. Click the images to enlarge.<br /><br />So, go ahead and create a new IMAP account, and fill in the blanks. Here is a completed pane as a guide:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4D6bJnmarPV_Zwm-4TqBlk5nVW6v8P-rBWvxti7rJKsC95Eehzav9qmW05BB_rZbqyurbSphLsPlC3OqnxHln7JTvlF-mrtSp5VLBbcLVz3WzYvLRxcjidE3PDUntxUdtO4xQm210Kpw/s1600-h/Picture+1.png"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4D6bJnmarPV_Zwm-4TqBlk5nVW6v8P-rBWvxti7rJKsC95Eehzav9qmW05BB_rZbqyurbSphLsPlC3OqnxHln7JTvlF-mrtSp5VLBbcLVz3WzYvLRxcjidE3PDUntxUdtO4xQm210Kpw/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5008021128015741682" border="0" /></a><br /><br />Here we don't see much out of the ordinary, except that the email address and outgoing (SMTP) server are from the existing .Mac account. There is no need to invent new ones just for an IMAP store.<br /><br />Now, under the Advanced tab, there are some things to check and tweak.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgey8Lc5ZkjU9aGLSYKA2q-eZ8s6Z8Pwl3D-cm_AO4Mf97mWDe44idNviBlaZXLgsiFv0TWp42sM648h_CctMHfqXK_Q0MXhWfVkUeBoeJCXFj2XZvF5R3f8NsviWMe0ACjKUZ0DoBjROQ/s1600-h/Picture+2.png"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgey8Lc5ZkjU9aGLSYKA2q-eZ8s6Z8Pwl3D-cm_AO4Mf97mWDe44idNviBlaZXLgsiFv0TWp42sM648h_CctMHfqXK_Q0MXhWfVkUeBoeJCXFj2XZvF5R3f8NsviWMe0ACjKUZ0DoBjROQ/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5008022261887107842" border="0" /></a><br /><br />Notice in particular that the IMAP Path Prefix is set to <span style=";font-family:courier new;font-size:85%;" >~/Mail</span> (on other clients, for example Eudora, you will want to include the trailing slash, as <span style=";font-family:courier new;font-size:85%;" >~/Mail/</span> ). Use SSL is checked, and Password authentication is enabled.<br /><br />That should pretty much do it, except for one pesky detail. Apple Mail is especially paranoid about self-signed certificates, so you may need to play a little in Keychain Access to make it all work. There is an <a href="http://docs.info.apple.com/article.html?path=Mail/2.0/en/ml1042.html">explanation at Apple</a> on how to do it (the certificate file you need is the <span style="font-size:85%;"><span style="font-family:courier new;">/System/Library/OpenSSL/certs/imapd.pem</span></span> created earlier).iMeowbothttp://www.blogger.com/profile/17450589648302638336noreply@blogger.com0