]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/images.py
Add docstrings for ComboCtrl and ComboPopup, and added OwnerDrawnComboBox
[wxWidgets.git] / wxPython / demo / images.py
index d9678bdbb10a81117e7292d228d47c35f7bc2e52..86e033f4a877f37d8e08dcc109ba3f6da4eded77 100644 (file)
@@ -12932,3 +12932,360 @@ def get_rt_zebraImage():
     stream = cStringIO.StringIO(get_rt_zebraData())
     return ImageFromStream(stream)
 
+#----------------------------------------------------------------------
+def get_bp_btn1Data():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\
+\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
+\x04\xb9IDAT8\x8d\x8d\x95[l\x14U\x18\xc7\x7fgn;;\xbb\xdbv/\x14[J\xa1\\*\xb7\
+\x16\xe5"E@\xd2\x82\x12!\r\x12\x02\xc6H\x82D\x8d\x89\x89\x89\xf8 \x89\x89\
+\xf0\x82\x0f\xea\x8b\x86\x07/\x81\x17\x13#JH$"P\xc1\xa8\x14\x11)5`\xb17*mi\
+\xa1\xf4\xc2\x96vw\xbb;\xbb\xb33>\x0ctA.z\x92\xefe\xce\x9c\xdf\xf9\xce\xf7\
+\xff\x9f\xf3\t\xfesl\xf7\xa2\xa7"\xd8\x9a\x01\x96\x83l%HjC\xb0\xc7|\xd8*\xf1\
+\xc0\x19\xcf\xf6j\x1c^F\xd6\x9f\xc2\x93W\x84\xe6U\x00H\'\xd2\x98\xb1\x1e\xb2\
+\xa9\x13\xc8\xec%\xf9\xd1\xb9\xff\x076\xde)"\x9b\xfa\x18\xa3pSx\xce\x12\x16U\
+\x95S1;\xc4\x84\xa0\x86\x95\x85\xab\x03&\xe7/\x0e\xd1\xd4\xd0B\xac\xe3w\x9b\
+\xe4\xf0\xe7\xf8\xad\x1dD\xf7\x8c>\x18\xec\xdbQA\xd6>d\x94//{~\xeb*^Z\xe7\
+\xa3l\x02X\x16\xa4\xd2\x90\xb5\xdd\xdf\xcc,\\\xec\x81/\x0e\x0fs\xf2\xdb:\xac\
+\x9es\x8d\x08\xf99\x92\x1f\xf4\xde\x0b\xd6\xdf\x9a\x8c\x90\xeb#\x8bk\xa7\xec\
+~w\x05\x1b\x97\xc0\xf5a\xe8\xec\x87\x84\xe9B%\x01\xb2\x04\x92\x04>\x0f \xc1\
+\x81S\xb0\x7f\xdfQ\x92\xad?6b\xa4kng.\x8f\x83\xe5\xaa/\xfd\xb3k\x9ex\x7f\xf7\
+j\xd6/\x82\xd6^\x18\x8aA&\x0b\xaa\x02s&\xbb\x1bD\xe3\x90\xb6 \x96\x82\xb1\
+\x14\x94O\x02+8\x93\x8e\x8eh\xb1=\xd8\x17${\xe6\xfb\x1cX{s=y\xa5;\xb7m\xdf\
+\xcc\xd6U\n\x17\xba`d\x0c\xcc\x0ch\n\xd4TBI\x18\xf2\r\xf8\xe3\xb2\x0bN[\xee|\
+\xd2\x84\xe20\\1\'1\xd8\xd1\xb4\x001\xff\x08\xd6\x99k\x12\x00\x92\xf2Z\xc9\
+\x82\'\xd9\\\xa3\xd3\xda\x0b\x83\xa3\x10K\x82*Cu\x05\xf8u\xf7P\xcd\xdd\x16#\
+\t\x88\xa7r1\x9a\x84\xac\x05\x15s\x83\x18eU\x12B\xbc\n\xa0\x90\xb7+\x84\xaa-\
+\xadZV\x8e\xae@{\x8f\x9b\xcd\xa4\x10<\xf3\xf8\xadZ\x02G\xcf\x9a\xd4\xfd\xa9\
+\xa0( DN !\xb9\xb5\x8f\x04 8}6\xa9\xaeS\xab\xed\xfc]\x86\x84\x9c-\x92\x0b\
+\x1e)\x985=\x9f\xe6+\xd0\xd2\x0b\xb2\x80\xb5\x0bs\xd0\x86\xb64\xbf]R\x08\xe5\
+\xc9\xe4\xfb\xdc\xef\x86\xc7\x15q$\x01\xa3cn\xd6y\xe1\x08J T\x82\x99\x9d\xa2\
+(\xaa\xc8\xf3\x04\x82\x08Y\xe2|\xa7\x9b\xcd\x96\x95\xe0\xd5r.\xac\x9c\xa6\
+\xf1\xd8\x8c\x9c\x85l\x07\x1c\xc7u\xca\'u\xd0\xd8\xe1\n,\xab\x1a\xb2\x91\xaf\
+)\xe9\x1b\x11\x05\xc5\x8b\xeaQH\xa4\xe1\xea0\x94\x84\x9c[5\xcd9\xd1\xa3\xdes\
+\x8d\xc6G\xd8\xef0\x14\x17\x8ce \xed\x80\xeaQqdM(B\xf7\xc4!\xcdX\xc6\xe1FR\
+\xd0\xd9\x01\xef\x1d\xcc\xb0s\xb3:\x0e\xafo\xcep\xa6\xdd&\xe0u3\xb5\x1d\xb0m\
+\xd79\xc7\x9b\x15F\x922\x08\xd0=\x16\x02+#k\xc6\xb0\xe2\x91\x94\xeb\x96\x19\
+\x8b\xdf\x8c\x8d\xf9#!\x1f\xe9a\xc1\xa1\x8b*\xba\xd7\xe2\xedZ\x05\x10TNU\xf9\
+\xba\xc1\xe1d\x03x\x14\x17|[>\x8f\n>?h*\x8c\x0e\xc6\xb0m\xf3zBR\xba\xe5t\xf4\
+\xd8\x98Z\xb8n\x8d\x11\x998u\xda\x8c \x89\x0c\x18\x86\xa0\xa5_b4aQ5]BW\x05\
+\xd5s\x05\xdd\xc3\x82aS\xe0\xf7\t\x0c\xaf\xc0\xf0\x82\xc7\xe3F\xc0\x0f\xfd\
+\x1d\x9d\x8c\\\xeb:\x9cn}\xe3+\t@\x92\xe5\xbdW\xda:\xc8:6\xc5\x110|\x10\n\n\
+\xea\xfeV\xd8{\xca\x02\x1c\xbc*\xbc\xb8\x14\xbc>\xf0\xdd\x11\x86\x0f&\x86\
+\x01\xcb$\xda}\tY\xd3\xf6\x8d\xdf\xbc\xf4\x8a-\x7fI}\xb1Uh\xde\xd2Ys\xc3\xa8\
+282\x18\xba\xa0\xfd\x86D<i\x111\xe0x\xbb\xc3@RB\xd7AUA\xd5 \x92\x07\xba\x0eM\
+\xbf63\xd4\xd3s`\xa4a\xdb\x87wI\x1f\\\xb9\x7f\x9e"+\xf5\x8b\xd7,-X\xb4\xa4\
+\x98t\x06FR`\xd9`e\x1ddll!\xa1H\x02\x07P%(\xf0\xba\x0f\xd1\xe9\x9f;i\xfa\xa5\
+\xf1\xb2\xb0\xa5\xe5C\xf5\x1b\xfb\xee\xf6\x14\x10\xae\xf9\xb6ZQ\xa5\x83\x95\
+\xcb+\x82\xcbV\x94R\x10\x90\x183!\x99\xc9=\x99\x8a\x04\x86\x06\xba\x06\x83Q\
+\x8b\x93?u\xd2z\xb6\xb9[\xe0\xd4\x0e\x9c\xd8\xd0\x94\x93\xf5_c\xe2\xd3\xdf\
+\xcds$>-,-Z6\x7f\xe1d\x1e\x9dY@8_Cu\xfb\x07f\xc6a(j\xd2\xd2v\x93\x0b\xe7\xba\
+\x88\xf6\r\x1dV\x85\xf5\xfa\xb5\x1f6\xf4\xdc\xc9\xb9\x7fk\xda\xf4\x8d\\\x98\
+\xf0\xbf \x84\xf4\x8a\x11\xf0.,\x08\x05\xfc\x86O\xc7q\x1c\x12\xf1$7\xa3\xb1\
+\x91d<u\x1a\xf8l\xe0\xc8\xb3\x87\xee\x87xp\xcf\xbb}\x82\xda\xba2\xdb\x16\xe5\
+6v\x04[vd\xd9\xe9W-\xab\xed\xea\xb1\xb5\xbd\x0f[\xf7\x0f@\x01\xd7\x0c\xb0\
+\xdfs2\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_bp_btn1Bitmap():
+    return BitmapFromImage(get_bp_btn1Image())
+
+def get_bp_btn1Image():
+    stream = cStringIO.StringIO(get_bp_btn1Data())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_bp_btn2Data():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\
+\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
+\x04\xb8IDAT8\x8d\x8d\x94Yl\x94U\x18\x86\x9f\xf3\xaf\xb3\xb43\x9d\xa5\xed\
+\xb4\x82-X\xdaR\xa0\x0b["!\r\x18\x13 \xc1\xe2B\x04\x12\x83 7\xb8\x05\x134\
+\x1a/$\x90\x10\xe3\x85\x17.Qbb\xc0h\x0c7"\x11\x13$QjP\xa4\x91U@\xec\x02-]\
+\xe8:3\xedl\x9d\xce?\xf3\xff\xbf\x17\x83\x05\xd4\x8aor\x92\x93\x9c|\xef\xf7\
+\xe6=\xef\xf7\t\xfe\x17\xf6(0\xa4\xe5\xefe\x06\xec\xcd\xdd\xafB\xcc\xf8\xe2\
+\xdf\xe3!1\xfe\x04\xc8\xeb\x91\xf5\x05\xc8\xaa\x17\x003\x1b\xc3\xcc\xfc\x0e\
+\xd61\n\xad\xa3D?\x88\xff\x7fb}\xd76\x84\xe3-QR=\xe7\xc1\xba\x85\xcc\xab-\
+\xa7\xb4\xd8\x85e\xc3\xf0\xc8$]\x1d\x83\xdcj\xbf\x8a=\xd6\xd1\x83\x95\xd9G\
+\xe6\xbdC\xf7!\xde\xa3\xe0\x88\x1d\xa0\xb0rG\xe3\xbau\xec\xd8TM\xf3"\xf0\xba\
+\xc04!g\x82a\xc2h\x1cN]\x81\xc3_w\xd2\xd1z\x1c\xe27?e\xca\xbb\xf3n\x8b\xe4{\
+\x956\x1d\x94B\r\xdb\xb7\xed\xde\xca\xfb\xbbC,\x9c\r\x83\x11\xe8\x1d\x85\xfe\
+0\x8cL\xc0D\x12,\x13\xaa\xcba\xc5\xb2\x00\x13\xeezzz"\x8b\xedto%f\xdb\xd1\
+\x7f\x12\xeb\xaf\xbc\x8co\xde\x1b;^{\x86}\xdb\\\xc4\x92ps\x14R\x19HNAY\x11\
+\xd86\x84\xe30\x95\x85\xf1\x14\xd8\x16\xd4W\xa9D\xb4\x1a\xfa\xba\xfa\x1a0\
+\xaa\xa3\x98m\xbf\xde!v\xbeX\x8e(8\xfc\xf0\xa6-\xae\xb7_\x082\x14\x81\xfe\
+\x08X\x16\xc4\'!\xe4\x83G\x16\xc1\xdcR\x18\x89\xc1\xad0\xe4,H\x1b\x90\xcb\
+\xc1\x03\xa5*]\xb1\x12b7./E]\xf2\x05\xd9\xb6\xa4\x04\x80\xadn\xd5+\x9a\x82\
+\xcf=]A"\x05\xdd#0e@8\x01\xbda\x18\x0c\x9b\xd8\x96\x8d"\xc3\xda&\xa8(\x81h\
+\x02\x92i\x98H\x81*A\xc3\xe2\n\xb4Y\r\xc5Xb+@\x9eXq\xb5\xd4.k\xa0v\x16\xb4\
+\x0f\xe4\x95\xc4\xd3y+\x12i\xf8\xadW\xe2\xf3\x1f\x0cL\xd3F\x96`\xc3r\x98W\
+\x9eo\x1cOC,\x05\xe5~(\xaajD8\x9c\x1b\x00\x14|\xaf{\xd1\xbc5\x0b\xeaB\x8c\
+\x8e\xc3\x1f\x03y\xcbU%\xafZ\x92@Q\x04\x17\xfb5\x94SY6\xafR\x91%\xc1\xe6\x95\
+`\xe4\xe0L\x07hJ\xbe\xa6\xb04\xc4\xb8\xcb[\x93U_\r)\xb8\xe5\x02E\xf5\x14x<\
+\x0e.v\xc3`\x14\x9e_\x0b\xf3g\xdd\xfe]\xe9N2MK\x03;\x1fRI\xc0\xb3\xab`,\x06\
+\x97z@Q@\xd5\x1d\xc8nO\x01\xf1D@q\xda\x1ea\xe9\xba0\x91\xe8\x8b\x80$\xdb,\
+\x99\x0b\x9a:\xf3PN\xb7\x12\x10(\xb4\x89\xa6\x04\x93Y0\x85\x84\xa2\xe9\xc2T5\
+I\x91\xdd\xca\x14\xb2\x95\x994\xb2j\xd4P\x18\x1e\x17\xbc\xf9\xa5Ac\xa5\r\xe4\
+\x95IB\x90\xc9\xd9\xb8uhY\xae\xa1)\xf9\xa6\xadWr\x1c\xfcI\x90\x98\x92\xb1\
+\x01]\xcb"\xc9VF\x92\xd5\x84\x92,\xec\x8c9\xd3M\x03\xd1\x89d\xad\xbf\xdcI$\r\
+?\xde\xd08\xd9e#D^\x95m\x83K\x87\xfd\x1b\x99&=\xdd\x9ec\xef7\x02C\xc8\xb8\
+\xdd\xa0\xaa\x10\x1bNb\xdb\xd9\x81\x8c\xea\x1a\x928\xffIV\x92h\x1d\xe8\x1b\
+\xc4\xeb\x01\xaf\x07\xfc>\x08\x06\x04\x01\xbf\xc0\xe7\x13\x94\x95\x08\xde\
+\xd9"h\xae\xcd\x93\x9e\xed\xce\xb1\xff;\x81\xec\x90\xf1z\xa0\xb0\x10\x8a\x8a\
+`j|\x10\xcb\xa6\x95\xeb\xbb2\x12\x80\xac+\x87\x86\xbb;\xedx2\xcd\xecRp\xb9\
+\xc1]\x90?\x9a\x03\x9aka\xc5Cy_/\xf5\xe5x\xb7U\xa08e<\x1ep\x15@I\x00\xecl\
+\x9aho\xa7-\xcb\xca\xa1\xe9\xc9\xcb\x0c\x1d\xbb\xa5\x95\xb6TfL\xa5q~}\x08\
+\x87\x0e\x96\x04\x9a\x06\xba\x0e&\x16\x95^\x8b\x1ba\x8b\x8f\xdb\x049Y\xc6\
+\xa9\x83\xaaA\xd0\x03\x0e\x07\\>}\x8d\xe8\xc0\xe0g\xb1\x0b\xdb?\xbagW(U\x1bO\
+\xa7\xc2\x13-\x96\xe2\x0c\xd6\xce\xf7Q\xe4\x06[\x06E\x03\x03\xc1\x99~\x9b\
+\xf3\xc3\x12\x92&\xa3\xeb\xe0r@\xa8\x08\x9cN8\xf7K7\xdd\x17\xae\xb6\x1b\xaa\
+\xbd\xc5\xe8=2\x99\x0f\xe7]\x08\xac>Z#\xcb|[\xbd\xac\xae\xaayu%%\x01\x95\xb4\
+q{\'X\xb7\x05H\xe0\xd2\xc0\xa1\xc1h4\xcb\xa9\x937\xe9<{\xed\xbai\xb2>\xd2\
+\xfax\xc7\x9d\xd4\xff\r\xc15_\x95ai\x1f\xfaC\xfe\'\xeb\x97\xce\xa1\xae\xc6G\
+\xd0\xafO\xe7\xda\xc8\xda\x84\xa3\x19\xaeu\x8cs\xf9\\\x0f\xd1\xe1\xe8\x11$\
+\xe3\xa5\xf0\x89\xa7\x86\xee\xc9\xf8L\xe1/^s|\r\xb2\xb4\xd3\xe5VWz|\x05Aw\
+\x81\x13\x80T2M|<\x19\x9eLe~\xc6\xe4\xc0\xd8\x89u\'\xfeuxf"\xfe\x0b%\x8f}_j\
+\xe7\xcc*\x0b\xbb\x18@B\x8c\tE\xbe>z\xec\xd1\x91\xff\xaa\xfb\x13)}\xd4EY\xc6\
+\xa7X\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_bp_btn2Bitmap():
+    return BitmapFromImage(get_bp_btn2Image())
+
+def get_bp_btn2Image():
+    stream = cStringIO.StringIO(get_bp_btn2Data())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_bp_btn3Data():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\
+\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
+\x04\\IDAT8\x8d\xb5\x95[lTU\x14\x86\xbf}93\xd3a\x98V\x18-\x97^(\x08\x8a\xe1R\
+n&-\xb1@\x94\x07\x05#%&j4&*\xc6\x07\x85\xc4HT0\x88\x08\x0f\x92\x90\xa8\xc8\
+\x83\x11\x13\xf1\x82\xc6\x10\xf0\x16\x08\xb1&\x16\x1f*$\x96T\xaa\xa8\xc5\x96\
+\xd2N[:\x9d\x9evf:\xd39\xd3\x99\xb3}\x18JhK}c%;\xd9\xc9\xca\xfa\xf6\x9f\x7f\
+\xad\xec%\x8c1\xdc\x8a\xd0\xa3\x17\xef\xc63u\xa1\xa9\xbe\xfb\x1c\xa3\rJ\xc9\
+\xa4#\x87\xd3X\xfb\xf0\x15\x1c\xc0*\x00\xcb\x07\xd2\x02!\xf2\x059\xf1\x0cZ\
+\x1d@\xe9\xa0\x14\xc2h\x85\xc9\xba\x9c\xcf\xbdO\xd5\x18\xb0%t\xf5\xebO\xcd\
+\xf1\xde\xb3h\x1a\x7f\xdb.\x17\xdb\x1c\xcf\xd1\x1f\xfa\xf6\xc7\x92\xb92,\xb6\
+\x01p\x8dI\x96]EA\xf9\xa6\xd1Z;9A\xe9\x1d\xf9T[7\xcbGyr\xf4\x92t\xe5\x9eC\
+\xc7#\xd9x$\xcd\xda\xf9^\x96\xdc\x15\xa4\xf6\xc1\xd9rz\xc8\xbf\x95\x11\xf7\
+\x04\x00\x06\x18\xe1\xc3\xb9\xc5jO\xf9\x0cK\x0b%\x98S\x0c\x1e\r]\x11\xdcl\
+\x8ewGyb\xd4cQ{\x0e\x1c\xfdX0Ppd\xd7\xd3\xb3|+\x96\x16\xf1S+4\xb5\xe58\xdb\
+\x94\xc0\x1e\xa2\x0e\xedI,+\xb7j\xfdS,\xd1|\x15\x8ao\x03c\xa0\xa3\x87\x91L\
+\x8e\xedH\x0e\x9a\x83\xe3<\xc6\x00~\xf5u<+\x86\xde\xf8\xcc>\xfa\xf2\xa3\xb2p\
+\xed\xca \xd1\xb8bfi\x10\xa7+\xb3\xde\xa0H\xb8\x16\x97{!T\x04\x99\x11\xe8\
+\x8c\x90r]^@\xf2\xc5M\x9b\x87\x94y\x13\xbd\xf2d\x06u\xef\xfe\xe3\xc9z;\xa5fn\
+X\xed\'\x1a\x97\x84m\x1f\xa94t\x0e\xc2\xec\x10\xa4\x1d\xe8\xe9c\xc0\xc0F$\r\
+\xd7\xfd\x1f\xef1\x89~p\x92 \x14xd\x0b\x05\xba\xeap\xddH\xcbG\xa73<\xbe\xdc\
+\xb0\xaa\x02r&\x0f\x8d\'\xa1\xbb\x8f.#\xa9A\xd1\x80$_\x1b\xef\xbb\x89\xe2\
+\xd1D\x7f;\x94,\x01\x9d\xbd\x82w\xfa\xb2S\x8d\xa2n\xd0\xa1\xfa\xb9\xfb!T\x08\
+\xdf\xff\x06\xa9\x14\x17P\xac\x83\x9c\x8d\xe3@\xbc\x1b\xdc\xec\xb5Q\xbc}\xbc\
+\x15\x1a\x8c\x0b\xc3\th\xfd5o\xcd\xcc\xc5)JV\xadih\x11\'\xe2\x0e\x0f[\x1eH%9\
+\x83r\x1f"i\xa7H\xf6\xc3p\x1c\xb4\x07\x94\x07\xb4u\x13\xc5\x98\xfc\x8bB\xe6\
+\x8f\xb2 z\t\x94\'KY\xe5\xa6?\xba\xd8\t\xf8\xb1x\x9bhG\x9aX8/F{\xaf\xd5\x8c\
+\xf5\xf8\x0605$3\xb5d2\x02\x8d\xc2+\xc3\x04\xbc\x87\xb1[m\x94v)Y\xb4\x0f\x80\
+\xdeVH\xf4\x80\xd4\x01\x10\xcf\xe2\xe6\xe6cd\x0e\x0c(N\x01?\x8e\x01\xfbq\xbe\
+[\xbfi^\x91\xb2<\x0c\xa5\x05\xed\x9dqZ\xfe\xb1\x9f\xc0\xef}\x80\xc1\xce(R\
+\x81\xd2\x90\xe8\x05\xa1\xa5p\xcdI\x11\x08\xd6\x18o\x90\x80_Q\xe0\x15\xd8vz\
+\x0b\x10\x18\x03N\x0f\x0e\xf4\x97\x17W\x14m}q\x15\xe1!A\xe3_\x19\xbe\xfa\xf2\
+\xc2\xd2\xc6sW\x9a\xd0r#C\x91&\x94\x06WUx\xa4{\xba\xec\xce\xe2\x05\xfd\x05\
+\xe5h\x9f\xa64\x04v\xcf }v6>a\xdc\\\xa8>x\xe8\xfc\xc5\x9d{\x1b\xf0\x99\x0c\
+\xb3\x8a=\xd4lXI\xe5\x9aE\xb3\x05\xa6\x1e\xc42\x8c,\rxiX\xb1\xbcd\x81\t\xcdE\
+y5\xb3\n]\xae\xb6Gio\x8bu\x18\xc4\xea\x89sl\xe9\x08ES\xaa\x8e\x1dk=\xbbc\xf7\
+YBV\x8a\xbbK\xa1b\xe9\x02**\x17\x16b\xc4/\n\xd3\\YY>\xc3\xf6\x95\xd1\xef\x08\
+\x8a\x03Y\xc2m}t\x87\x87\xfeD\xabj\x84\xb8<\xb1yR\x80W\xc7\x81\xaa\xfa\x9f{\
+\xbf\x1d\x18n|d\xcf\xab\x95\xac]<\x95\x8eh9\xd3r\x81\x80\x9314%C\xf8\xfc0#\
+\x90!\xdc\x1a%60R\x8fV\xeb\xae\x7f\xa7\x13\x14C\xfeG\x11@\xd0\xda\xf4{s\xe2\
+\xe3\xedo5\x9b"\x13\xe3\xc9\x1a\x10S\xa7\x93T!\xfc~(\xb4\xd2t^\x8a\x10\x8be\
+\xbe\xc1\xa3\xd6!\xc7\xcd\xda\x04\xf0\x8d\xe1\xd7\xcf\xff{\xc5\xd9\xfd\xca\
+\xbe\x96\xacL\x0c\xb0c3,,\x07O6I\xb8%\xe2&\x93\xd9\x0fPj3\x93,\xa0\xc9\xc1\
+\x00\x01\xbd7\x1aw\xb7\xec~\xaf\xd3\x89\xf7\x0e\xb0f^\x92pk_\xd6\xc9\xb8\xaf\
+\xa1\xe56\xfeg\xad\xe9I3\x90\xb7\xc6\'?\x8d\xb9\xd2~\xe7H\xf4\x13\x8f\xcf\
+\xb2\x10\xe2%\xa4\xf8|2\xa5\xa3!n\xd52\xfd\x0f\xde]\xc0!W\x86\x86C\x00\x00\
+\x00\x00IEND\xaeB`\x82' 
+
+def get_bp_btn3Bitmap():
+    return BitmapFromImage(get_bp_btn3Image())
+
+def get_bp_btn3Image():
+    stream = cStringIO.StringIO(get_bp_btn3Data())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_bp_btn4Data():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\
+\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
+\x04\xb5IDAT8\x8du\x95[l\x15U\x18\x85\xbf\xbdg\xcf\xcc\xe99\x96Rl\x01+\xa5\
+\x08\x14\n\xa5\xb55@\xaa4\xd6\x98H\x1411\xc4\x18M\x94\xa8\x18%>\xa8\xf1\x12c\
+4\x9a\xa81\x06}0\x9ahD\xc3\x9bAn\x89\x06\xbc\xa1&4\x12\n(Bi\x83\x15\xb0b\xa9\
+\xf6B\xaf\xf4\x9c\xd3sff\xef\xed\xc3T\x0b\xb4\xfeO3\x93\xd9+k\xad\x7f\xad\
+\x19a\xad\x05@\xac\xdc\n\x00\xda\x82\x14 \x01cA\x08\xb0\xa0\x948\x94\x90\xb2\
+.=2\xfe.\xae|\x05)"\xb0 \x9d\xf8\xdd\x9c\x06Wb\x8fo\x06\xe2G\xff?\x16\x88\
+\x0cD\xda\xf3|\xb5\xf4\xed-k\x0b6\xdc\xb3\xe2E\xb4\xed&\x1f=\x8c\xb1\xff{tz`\
+\x01\x08$\xc6\xce!2\xe5D\xb6"\xc8FvFi\x11\x9b\x9e\xbf\x85\x97\xb7l\x98\xb3\
+\xb8v\xfe6B{\x92 lD\x88\xf8\xcc%\xa3\xa6\xa1\xa9\xc8\xe9\x97\xc0<\x94,\xf4\
+\xae.H\xb8\x8e\xd1\x16\xdfU\x05\xa7{,&\x0b\xc9\x05\xd7\xb0\xf1\x85\xf5\xfcr\
+\xf0\x8f\x9a\xc3_\x1fk\xee=\xd7w\x00+\x1e\xc5\x91\x7f\xfc\xc7\xed2\x8f-\xb3\
+\xc9\xe5\x9b+W\x94U\xad\xbe\xad\x86\x19sJQ\xae\x8b\x9d\x90&\xbd$}Y\x19{\xeeB\
+A\x12t&O_k\x07\'\x9a\xdb\xf2\x7f\xf5\xa5\xb7\x9a_6?y%cE>\xdf\xbcdMMU\xf5\xba\
+5\xf4\x87.]\x17AN\x98%\x04\x14\x02\x83\xe3\xf1n\'\xf8\xe0\xf8>%\xf5\xd7S\x93\
+H\xf8\x03\x9f5?\x0e\\\x01\x9c\x0f^\x9b\xb5`^U\xf5\xba\x9b\xc9E\x92\x84\x03\
+\xb9\xd1!\xc6\x86\xc7@\x80#\x05%\x0b\xcb\x98\x91T`\xc0K\x80\xf2`\xb0{\x98\
+\x1f\xf7\x1e\xe7B\xc7\xd9^\xe1\xd8g\xa7z,\xe4\xfd\rkkYV!1\x06Z\xf6\xb5\xd2\
+\xf2yK\x10i\xdd\x8fE*_\xcd]\xf9\xea\xbdr\xe1\xdcb|\x17\x86\x07\xb2\x1c\xfd\
+\xbe\x9d\xd6\x03m\x99\xfc\xc5\xf4\x87\xb8\xee\xf3VNf\xe1?\xe0\xc2\xc2DY\xc3\
+\xca\x99,\x9a\x07\x9dg\x87\xf8\xe9\xcb\xa3&\x8a\xccz\x12\xeewh\xeb\t\xa5\xba\
+\x97T\xb8\xa5\xc5%\x86o\xbf\xf8\x95\xfd\xbb\x8fG\x83\xdd\x83\xbb\xf0\xdd\xa7\
+\xf1\xbd\xfe\xc98]\x01<\x1ej\xfd\xc9\x96\xef\xf1<e\xd3\x99\xbc\xc8\x86\xa6\
+\x1f_}\x87\x05\x8c\xc5\xf5\xa4\xf3\xe7\xa9\xf3l\xfb\xea7\xdbv\xb8\xeb(\xbez\
+\x94\xa4\xdf\x8e1\x93\xa5\xba$r\x97\xa4\xe2\xa3&\xd2\xc1lB\xa3\xf1\x94K\xca=\
+\x87\xe0\x089\rJ\x82\x12\xef:\x81n\xd2\xb9\xe8-R\xee\x0e\x98hg`@\x9b\x18\xd8\
+w\xb0??>%\xc7\xcd82\x8e\x81\x92\xf1\xdaM\xcc\x96 \xaa\'\xa0J\xfb\xaa\x99\x94\
+\xbf\x031QuX\x821\x15h\x13a\xa5\xc22\x04\x1c\xbb\x1c\xd8\x02\xae\x13_H\x11\
+\xb3\x08\xa2\x99\x04\xe6\xfdy\x95%\xf7\xddvW\x95\xda\xb5\xb3\xbd1=<\xfe\x06J\
+\x0e\x00`\xec\xde\xa2\xd2\xd4\xe2T\xca\xb7\x916bh0\x9b%N\xe5\xa5\x8cE|g\x00C\
+\x82\\\xf8\xa2_\x94|\xb6\xe9\x8e\xea\xd4\x86\x07\xea1\x06\xb6\x7fz\xd2\xe0`\
+\x90@\xa8\xafq\xb5\x99\xbf\xe9\x99u\xb2nU9\x7f\x9f\x1f\xe1\x9d\x17\xf6\x16L\
+\x8d\x1b\xff\xca\x0e\x1e\x91J\xbd\xbe\xb4\xa9\xba\xac\xf1\xce\x1b(\xbf\xae\
+\x98\xbf\xd20\xdas\x11\x9d\x0bR\xe4\xc3\xc3H\x11b(\xafY{}"YVN\xe7\x058}f\x9c\
+\xe1\xd1\xec\xe84\xc0\xf6&B\xfb\xe1\x8c\x8a\x8a\xda\xea[WR\xbe\xecZF\x0c\xf4\
+v\xc4b\x92\xa2\x80\xba\xbbo\x95Qd+\xad\xb5\x14\x14]\xc5\xdc\x85e\xb4\x9e\x83\
+D\x12Z\xbelG\xe7\xc3\x1f\xa6\x00{\x8e\xfd\xa6\xf1\xbe\x1b\x0bS\xb5u\x8c\x8eA\
+w\xdf\x84\xef"\x162\xab\xc0%UY\x896\x13\xe2L\\\xef\xe2\x94\xe5\xcc\x81\x13t\
+\xb7\x9f\x19\xc0w\x9f\x9a\x02\x1c\x86bg\xe7\x91\x8e\x8d\xf5I\xe5VV-\xc5&\\\
+\xb2\x190:\xb6}n\xd2\xe2\xba\x01\xdaX\x84\x00\x13Y\xc6.\x0c\xd2\xf6u;\'\x0f\
+\xfd>\x88r\xd6#D\xcf\xd4\x1c\xd7\x7f\x04\xb9p9\xc2|<\xaf\xb2\xac\xa1\xe1\x8e\
+Ur\xc5\xear\xa4\x92dr\xe0\x8f\xa7\xd9\xf3\xde>r\xf90\x90\x8e$3\x1e\xd9\x9e\
+\xfeL\xda\x06z?\t\xef\t\x1c1\x82\x05\xfb\xf3c\xd3,\xcf\x95\xa7\xf0\xbc5\xddg\
+{\xd7\xee~o\xdf\x07\xed7,Xt\xef\x83\xabhX=\x9b\xb1>8\xdd5\x96\tGr\xb7c\xec\
+\x00\x9e\x03)\xb7\x0b\xc7\xc92\xcd\\\xfe\x07\xb1\xc4\xc5\xf0\xd5~\x1c\x16w\
+\x1c\xeb|\xf2\xf5\xe7\xf6\x0cm\x7f\xff v,M"\xe5BRu\x90P\x1d8\xa2\x03\x98\x16\
+t\xaa\x15\x91\x06\xcf\x89\xb7eL\xdc.m\x92D\xf6\xcd\x99%\xa9\xcd\x99Pw\x87\
+\xa1^\x0e"@\x9b\xc9\x86\xc2\xc4Gz\xd2\x8a\x7f\x00E\xb8\x1e\xc0\xd9\xc98\xaa\
+\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_bp_btn4Bitmap():
+    return BitmapFromImage(get_bp_btn4Image())
+
+def get_bp_btn4Image():
+    stream = cStringIO.StringIO(get_bp_btn4Data())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_book_redData():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
+\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
+\x00\x02\x93IDAT8\x8d\x85\x93IL\x13\x01\x14\x86\xbf\x99i;]hiA\x10\xa4\xac\
+\x01!F\xa0\x88V0\xe8\x81\x8b&x0&xr\xbb\xe8\xd9\x03^8\x18\xaf&\xc6\xab\x07o\\\
+\x8d1j\x0c\xd1\xb8DM\x10\x8d\xa0\x18\x16\x03H*K(e\x11\xbaMg\xa63\xe3\xc1bPP\
+\xff\xe4%\xef\xf0\xde\x97\xbc\xf7\xbf\'\xf0o\t[r\xeb\x7f\x05\xc2u\x10\xba\
+\x83\xd4\x9b\x1aa\xc1\xcd!\xf7\xae@kZQ\xb5Kc\xe9\xf3o!\n\xa8\xdb\x00J\x88\
+\xa3\x96C\xec\x12\xf3\xfd\x07E\xa7\xbb\xd5t\xb9\xfdr\x9e\x0bL\x13\x1c2d\x15\
+\xfa\x9fM<95k^\xd5`\xf2O\x88t\xad%8h+\xad<\xe1h9P#\x19\xa63[V\x8b^Z\x8b\xd1t\
+\x0c#\xd4\x89M\xcbP\'&k\xcb\x97\xd6}\x0f\x14F\x808`\xfe\x02\xf4\x04\xed=r\
+\xbe7/\xab\x0bHj\x82D\xb8\x0b\xb1p7\xa2+\x0f\x9b\xa1#\xcaNX\x9c\xa2)`o\xb4\
+\xcf\xc6\xf5\x97\x06\xe3@j\x13"]t\xa8\x1dE\xf5\xe5\r\x89\xaf\xb38KK\xb0E#H\
+\xd1o\xc8\xc3\xcf\x11\x07\xfba\xfc\x03\xe8*\x82\xc3&\x84\xf2\xed\xe1\xb5\xf9\
+\xf4\xf2\x90\xc54\x90\x06,\xa9M\xb7\x96\xf7\xc9\xda9W\xb0XH\xac\xa5qgV\x91V\
+\x97@\xd7@\x94~\xee\xd94\xc1\xd0\x91=\x82xX\xca\xb6\x8f-\x1b3\xd3\x10\x01\
+\x14\xf1l\x9cw\xe3S+\xf7\x05K%\xb3\xf2\x1d<\x01\xb0L0\x0c0t\xc8*\x90Z\'9\xb9\
+\xc4\xd8@\x8c\x91\x92f\xb7!\x8a\xfb\x81j\xc0a\x03\x94\xc7\xcb\xdc\xa8\x18\
+\x9d\xef*n\xaev\xaeGb\xf8\xbd\x1a,\xae\x10\x8d\x1a\x8c\x17\x941S\xd9\x8e~\
+\xa1\x03g\xb8\x9d`e\x85\xf2to\xb5\x0cx\x00\xd1\x06\x98\xbd*\xa3\x8d3\xa9\xbe\
+\x93\xe5\xb1\xcb\xaf")V\x82\r\xac\xb7\x9dAk\t\xe3\xf3\xfb\xf1y\xbd\x14x<\xb8\
+\xbd~\x8a%\xcb\xd5S\x8c\xe3f\x0c\x050m972w7\xb8U\xf6"\xd6}\xe7\xf8\xe9@y\xeb\
+\x11\xea\xaa*)\xf4\xe5\x13\x10\xb2\xd4.|\xa4h\xe2=\xfe\xa1\xd7\xca\xd0\xec\
+\xc2\'\xd1\x00\xc0\x0f\xc8\x9b\x00\xab\x0f"\x9d)nWY\x99\xdeP|\x8a\xb6\x817\
+\x14\x8c\x0e[\xc9\xa9\xb9\xc9{k|y\xa4\xb3:d`h\x16\x1b\xc0\\\xceJ\xeb\xb7S\
+\x0e\xc1\x9e+.\x1ej\xa0\xf6)L\x7f\x065\x0e\x19 \x06\xcc\xe7b\x11\xd8\x00\x12\
+@r+\x00\xc0\x0e\xd4\x00\x1d\x80{K\xd3*\x90\xccy\x9f\x01\x0cr\xcf\xf5\'\x00@\
+\x06\x02\x80\x98kP\x00ms\xd4\x1d\xeaw\x94\xf0\x17\xf86\xfd\x00\x8a\x84\x08\
+\xee\xfb\x9c!f\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_book_redBitmap():
+    return BitmapFromImage(get_book_redImage())
+
+def get_book_redImage():
+    stream = cStringIO.StringIO(get_book_redData())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_book_greenData():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
+\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
+\x00\x02\x86IDAT8\x8d\x8d\x93KO\x13\x01\x14\x85\xbf\x99\xd2\x16;}\xd2\xa0\
+\x04\xca\xa3\x14\x14\x8d\x90\xa0<\x95\x88\xba\xc0\x84\xc4\xc4\x10W\xb8\xd0\
+\x95\xbf@]\xf8\x0b\xdc\xb81\xae\xdc\x1b\xf6\x1a\x90\x95\x90\x08\xf8\x08\x04$\
+\x014\x95RD\x9em\xa1\xf41\xd3i;3nF\x82\x10\x1fgu\x93{\xef\x97\xdc\x9cs\x05\
+\xfe.\xe1Pm\xfck@`\x10\x91f\x9a\xc8\xd0!:h?\xe5w^\xcc\xc8\x059\xfdL\xbdK\x94\
+m@=\x0e\x18\xe2:\x1a\xfd\x95\x92\xa7\xcd\'Z[\xfd6\xbb\xdb\xeb\xb4\xa1\xcay,y\
+\'\x05)\xc7\xf8\xf0\xea\x9b\xc2s\x1e\xa1\x12>\n\xb1\xf4\xde\xaf\x9f\x0b\x9d\
+\xa8\xbd\xd6W_S\xa7\xc5\xad\xf6ZK\x13U\xfa9:+\xfa\xb8T\xd5Gb?\x0e\x81T\xe3\
+\xa6-\xebb\x96\xcf@\x1a\xd0\x0f\x00\xe57\x1d\x8f\xeb\x02n{"!\xa0\xe4S\xdc\
+\xa8\xbb\x85\xdfS\x8edw\xa2\x14\xb3H6\x89Hf\x11)X\xda\x12C.\xb0\xc0\x12\x90\
+\xfd\x05\xb1d[\xf2W\xfb\xbb\x1aB\x13\xe1\x1fTT8X\xddZ#*\x87\x19\xdf\x1aa<6\
+\xcalr\x16U3\x10\xad\xa2`\xad\xb1t\xa4\xf7\xd5\x18+|\x03d\xc0\xb0\xa8\x15ZB\
+\xf4\x19\x83\xcd\x8d\xe5\xc2r4GZ\xda$^\x88\xa1\x1a\x1a\x026tD\x8a\xba\x81Z,"\
+:\x0c\xb1X]\xec\xce\xaf\x19\x11\xb6\x89\x02\x8a\xc8\x10\xef\xa6&\xd7G\xec\
+\x86\x81\xaaeq\ne\x14u\x01\r\x03U\xd0PD\x95=}\x9f\xc8N\x92\x95\xf9\x14g\xb3\
+\xad\x0e\x04\xce\x03A\xc0V\x02\xc8\xea\\\xf1\xc9X0\xda\xd7\xdb\x1b\xb4\x8e\
+\xcd\xed`9\xa9\xb2\x11\xdbco\x07\x02\xe9J\xda\xf4+\\\xf6\xf7\xd0}\xa6\x8b\
+\xda@\xb5\x1cz\x18\xb2\x03\x12 \x96\x00:o\x99\xf9\x1a\x8c\xbf\x0c5\xb8\xefm~\
+\xd8\xa5\xdev\x9a;\xde\x1e:\xca\xda\xf1\xd5yqy\\8\x9d\x12^\x8f\x0f\xd1\xa7;\
+\xe8\xc4\xc6G\x14@/1\xdd\xc8iK<}=\x1a\x19\x18X\xbd\xed\xeen\xe9"TS\x8f\xcb\
+\xe5\xa6`Q\xf9\x94\x9b`z\xeb=\x93\xf1\te#\x9a\x9c7\x03\xe8\x03\xec\xbf\x00\
+\x06S\x84i\xe4E^\xca=X\xcc/0\xb2<\xcc\x8c<\xad\xa7v\xd3a"|a\x99]\xb6)\xa0\
+\x91\x06\xbe\x9bV\x1a\xbfG9D\r\x17x\x85B\x9aE"l\xa0\x92C\x01b\xc0:\xb0\x06l\
+\x01I3P\x99\xc3\x00\x00+\xd0\x00\xf4\x00\xa5\xe6\xc2:\x90\x002\xa6\xf79@\xc3\
+|\xae\xa3\x00\xccE\x9f\xd9\x93\x01\x05\xc8\x1f\x9c\xfa\x9f\x12\xfe\x00?\xa6\
+\x9f\x16\xa0\x0c\xe8\xa4\xc9\xa8\x14\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_book_greenBitmap():
+    return BitmapFromImage(get_book_greenImage())
+
+def get_book_greenImage():
+    stream = cStringIO.StringIO(get_book_greenData())
+    return ImageFromStream(stream)
+
+#----------------------------------------------------------------------
+def get_book_blueData():
+    return \
+'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
+\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
+\x00\x02\x82IDAT8\x8d\x8d\x93KHTa\x14\xc7\x7f\xf7\xce\x1d\xc7y\xdc\x19G\xd4L\
+\x1bS\xc7Wi\x90\xe4\xa3\x87A\xb6\x88H\x08\xb2U\x11\xd4\xae\x16\xed\x8a\x16-j\
+\xdb\xa6u\xd0\xaeE\x9b\xa2\x16\x82\xf6 #\x12E"\xf1\x85`\xf8`\xd4&\x1cu\xd4q\
+\xee\xdc\x87w\xe6\xde\x16\x8dbJ\x8f\xff\xea\x1c\xce9?\xce\xf9\xbes\x04\xfe.a\
+\x87m\xff+A\x80\x17"W\x1cu$\x85\x16\xdc\xdefd\xff1\xb4\r\x95\x9e\xfb\xd7I\
+\x0c\xc5\x00c/\xe0\xf6\xc2Y\x04\xf3\x02rn\x13.\xb5\x11\xdc~D7\xa8\x1a":\x96-\
+\xc1\xf8\xc77t\xdf\xba\x07\xc6\xd4n\x88#t\xe9\xceH\xb1l\xb7\'C\x07\xca=K+\
+\xae#>\x83\x16\x7f\x8a\x8eCN:\xeb=,&\x0cb\x14U\xe3\x0e\xcb\xcc\xbd\x1d\x05\
+\x92\x80\xb5\x05\x10\x17\xd65\xc1\x99\x9fO\xd1J\x14=#\xd0^\xef\xa5\xae\\&\
+\xcf-\xb1\xa6\xc1\xd12\x1fH\x12T\x9d\xbaF\xe3\x83\x9b@\t mw@\xd1\xf93fkC\xd8\
+53O\xca\x1b`1\xa60\x11\xcb\xf0z,E\xdfH\x82\xd1oq\xd0S`g\x04\xe4P\x0b\xa6\xb4\
+\xcc\xea\xf04\xa0\x02\xb6\x03gm\\\xf7\x85\xaf\xe6\xd6V\n\xf2\xf7\x19"\x8a\
+\xc4Z\xc2\x00\xc3\x00{\x132&\xa4\xd3\xbf|\xcb\x12qW\x9c@K\xcc\xa2LG\x00Md\
+\xfca\x1f\x83\x9fz\x96,\x11]t\x12\x946\xc14\xc0L\x83a\x82\x91\x01\xc5\x84%\
+\x15\xa2q\x1aK4\x8f d\x1a\x80\n G\x02T\xa6\x06\x1e\xd1W}.\xd1\xde\xea\x0c\
+\xf6\x0f\x80\xe9\x865\r\x94$\xfb\xfck\x1c/Mq\xb2\xddAk\x8d\x87P\xa8X\r?{\xef\
+\x02\xbc\x80(\x01\x16\xd1\'C\x8c\x1f~\x9e\x0e\xd7\xde\xd0f\x87i)\xd2ik\x80\
+\xa6\x83"\x81\x80\x0f9\x10\xc0\xe7\xf5\x11\xcc\x93Q=\xfb=\x94^\xce!\xfaJ\x03\
+\xac\xad\xd7\xd4\xf9\xf1\xf91\xdd\x85\x9d\x1d\xc5]\xfe\xe6\xbaz*\xabk\xf0\
+\xcb^t\xdb\xc3\x87\x88\x9b\xfe\x88\x83\xde\xc9\x94\xc6\xdc\xbb1,\x04 \x08\
+\xb8\xb6\x006\x8b/\xa7(8\xfdT\x15\n\xeeN,\xf9\xe8\x9e\x11\xf8\x1a\xb1\xacdly\
+\x8a\xe4\x97I6\x06WIM\x9b\xd8f\x12\x98\x07R\x80\xfd\xfb*\x07\x9b\xcb(\xbc\
+\xd8\x85\xa9$\x89\xf7\xce\xa2N\x1a\xa4\x15\rX\x06\xa2\xc0\x02\xb0\x08\xacg\
+\x17J\xd9\t\x00p\x02U@\x1b\x90\x9b-\x88\x02q@\xc9\xfe\xbd\x0ed\xc8\x1e\xd7n\
+\x00\xd9\xc2`6\xa6\x02\x1a\xb0\xb9=\xea\x7fJ\xf8\x03|\x8f~\x02x\xb0\xfe\xe3\
+\xe93\x0e\xf5\x00\x00\x00\x00IEND\xaeB`\x82' 
+
+def get_book_blueBitmap():
+    return BitmapFromImage(get_book_blueImage())
+
+def get_book_blueImage():
+    stream = cStringIO.StringIO(get_book_blueData())
+    return ImageFromStream(stream)
+