Convert Base64 to Image and Image to Base64 in Java

A converter class to encode an image to base64 string or to decode a base64 string back to image. The code is self explanatory, just run this class and you fill 3 different images file in your temporary directory.


package com.w.b.image;

import java.io.IOException;

import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class Base64ImageUtil {

    private static final String PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABqKElEQVR42uydeXTV1bXHz+/em3tzM09kvjejhAQICZBAEqBo5VnFB9pWUQYJKMgcRonVDkJ9VVvbh9raKk8eSouA+NQqk0wWJYIFISNVrPNzaH2gqExh735/Z2XddW8A70Fowbf2Z63PSkRWyD/f/Tu/s/c5VwmCIAiCIAiCIAiCIAiCcMGSAW+Gi+GGIFfB2bBECYLw/woHLIKL4FvwU3gMcpDt8BDcDxfCTCUIwjc++FlwJnwbcocE+SskuENZqkIJgvCNxIKD4Cp4FPIZFgDuKAIFShCEbxRRcBTcDeksXYYikKsEQfhGkAZ/At8zeMKb/P/D8EEUgVQlCMIFTS58CB6EdG4KgPYAXIAiEK8EQbjgcMBecC08ekYBt4wKAMGDcAZ0K0EQLhic8HK444ye8NEuVoWxrKq7sMqOYmUZrRA+gldDpxIE4bwTDYfD94yX+BYsjCU1Op/VA5WsHh3A6o5erPxRpq8I22C+EgThvJIIZ8B3jN/xnRarmi524EkHP9jZxaxSPaYriHFKEITzRgb8KfwAkkkB0Ev+q/2s/rOC1dKakALgXlbFV2wt4Em/dnNcqmVSANYpQRDOCznwEXgQkpGpHlITLiL1u/6E8IeYsboP3fFGCq37MoK2fqpo6l2KYhPC/swvlCAI/1Is2BM+B48Z7fI7YEEMq1t7sFpSE7TkryHXsmqu2ljCj/49ml8+ofildotXHozkO9sSuP+NXnK4wvx8QRD+ZXhgBdxvusuv3/f7JLFaUKZDHxR+TlhRSdftzGM89bkBwX/28whe+NcUnrjXxxNgVX0CuWMtKQCCcAEQA6+H+yAZFYBIJ6mqFFb3VYSGH6Y+0ZdntmTSxsMufuGYkx/5OIZnt2Yg/Nk6/LUNWdx9ZAxZDlkBCML5JhnWwTfgCaM2XYyLraFZdKrw+/+nN/94fxd7uU8bUAB++W4iz2jJDDz5b4LDl6Vylx7ucCuMd5QgCP9U0uHd8H+N23xJbnZen8PO31SStbQ6JPy91vbke99J5IYT9pLfTQuw5J/SlB0S/tqXs7hiZjw7PVa4AvCQEgThnxr+h+FnprP8VpqHI6YWsntxJTsfqybrUb3pZ3/PlRu688MfxfLLCP9Tn3l4/r50mtQYCH+gAFy9Mp3j/C6TPYYrlSAI5xwn9MOdsN10lt9ZGM3e24vZu6yf3dMPFIDI31fx5dsusp/4vL3d4scPROkl/817synoya8dsy2bC66IMhkE2gGzlCAI55RIOATugicghTXCIldxLMU+UEaxy/uR9w/9CQWA7AIQ93gljd3lp01HnPSnYw767QdxNKM5E8HP1k7Yk003aX10I7zknmRyeoz6/zfLgSBBOLfEwZGwEZ4wafNZXgd7Bqdwwv2lHP94P45d3p9RAPQKIBPDPVMas/jF4xajAPCi9+NZP/k7lv06/PiK8PON8JpnMjihwGVyFmAz7KYEQThnJMJ5cL/paT5HnIuirkrnpAdLOXlFRUgBKHmulH/0eiphpx99fhff9XYST2sOCj/UT/6O8N+wPZu7XRvDljPsJuMncBqMVIIgnLPw/wx+ZHqaz5kcwfHjsyl1SS/usqovJ6/UBUDbd313/tW7CfzScYvWfOHWLb/JjVnB4dfqZb8uAH6u+WEie5Md4TYZ2+GTME8JgnBO8MKV8JBpm8+ZEsFJdbmcubyc0lf3DRSAxBWVXLOpmH//SVTHZJ+b6v+SxpNOFX6I8JMd/n9/LI279HSzssL++3+Fw6FDCYJwVrhgOdwC243afA7FEZkeznqgWA/zZD3ZJ1AAMjDZN2JHHj9/2KXD/99/i+GZrRmE4IeEP/idf/yrPrpuQyYXDI0yuRLsEPyhEgThrPHCy+BLpm0+y21xdN849t1fxHlPlYcUgIJnyrh2l5+3Hbcw1uvg330Ya4dft/lOE37ot9/7qXJOAmPe36QArIEJShCEsyIG1sI9pnf2OaIdHD8kiXMfLOLCp8tCCkD5uh48b186wu/QO/33Yad/esdmn10AThf+cbt9fPniVIrPc7FBAfoQDlCCIJx1+GfDNyGZ6IxzUpfrUqlwSTcqerYXFT5TRigAlAOrNhbTz95K1v19LP3prreS7LYfIfjwVH1+iGX/eDhySxb5BkWa/A5H4O3y3i8IZ0ck/BX8yLTN54p3UubEdC5eUaLbeigAjALA+VgFXLylyB7rJTz59XFezPQHdvqD+/wTOj35x8Nxr/q5z/R4dkQYrUBWQ78SBOFrkwmXwM9N23wOr8UFC/1U+lR37rmmZ0gBGPpiIa/+NNK+wIOeOOjl215PDQ5/aJ9/b+fw+3jo0jT2pjhMZv33wW/L018Qvh4u2Aeug8eNDvM4Fcd083LJffncZ113KlvbM1AASvH9yJ25eqPPHvBZ+vdomtuWzpPs4Gt9nTf8qPOTf8T6TE4tdZusQA7AKdClBEE4YzxwKNxm+sk7jkiLk6piuOev87hyfQkKQI9AAcC1XXpnf+sxJ+OdH8t/tPlaMkiH//StPgoO/ygc9OkxNo5dXitcATgCl8AMJQjC1wr/GNhi+sk8Tuz0p1+ZwOWP5OuwVz6vC4De5b94axEveCOFtx518ha46L0EntqUZQ/4fGWfX2/4dYR/7Cs+Hnx3Csdmh531PwF3wSolCMIZ44a3wDdN23wuhN8/Kon7ryjgAZuKAwUAI730HRzjvf/9eH1t18YjLv75O0kd4c8O1+fXgz52+GvhVU9kcEa/SJNP/jkEx8mn/gjCmZMC/wN+bHppp8NjcfG8NB74dCF/a3O3kAJw1fYCwm29erLvmUMefWHn1GYd/s59fujHRmBh5w0/XQBG/glL/9o4drotk1HjpTBGCYJgjAX98CH4GSQTveku6nVHBl2y4SK6ZEsRoQAQCgDVoL9/zY48+uOhCGpoV7TqYCTd+loqTWnKokkn9fl9+JpDs5p60cQ9eYE+/zhYu9un7wIY/PMU8sQ7TH6nNpimBEEwxgn7wTWmh3ksl+LEHpHcb1EWXfbCRTzkha6MAqBXAJe+UKTP7GOqT1/aiZ1+fVsvnvqn2u2nyY0FPLe5L09r7B6y219ru9tP31+bxdHpTpNNyAPwSmn5CYI5LngZ3Gl6Z5/TY3HG4Gge+HC23c+33/F1Afg2NvquRH8fR3d1+NHq04M+0zqW/J12+6GfpzZ2pXktFTyrqQzv/jmh4YejXvRR4bAYk03Iw/AemfUXBHMi4GjYbNrmc6LNlzssli9d4eNh2wtDCsB3G/L19dybjzq1i95PsGf66XThn95UwvNa+tHc5krsBRScFP4bdvq55ifJFBFthSsA7XAdLFGCIBiRAOvgm6ZtPozdcvebEviKp7Ej31AQUgCuw3APnvZ6uGftlxF6px/h122+U4W/rqkHz2+t5vkt1TStsYRv7BT+sbtz+PIl6Zxc4iZlhf399sPvy8CPIJiRAhfCD+EJkwIQmejg8pmJfPVGP3/v5fyQAmCfyltxwKvv6f8jbu3FB3Syveyf3JStC0Dn8M9qLuX61ho4gGc2leGQT64OPwyE/9rns7lwWLTJrP/n8Bey6y8I4bFgHlwMD0MK2+azFMX4XFyzMIWv3YZg7sgLFACol/jPIfSY6dez/fWvpfGUJh3+k/r8k/bm8ZyW3nwrgl8P5zRX4LBPPnUO/+gGP1fOTWR3bNhZ/xNwE8xUgiB8JQ5YDjcbH+ZxKU7r7aEhD6by6D/n8PWv5PKInSgAO/Kx5M/Tp/c2H3HqSzv/8H9ResnfEXytDr5u9/l4Cvr7c1v6IvwDuR7Oa6lCQSjSff7gZf+YV/xs/3vxuREms/7vwjIlCELYNt+/wZcgmWgvvXMGe2n48nQai1YcCgChANCInbk0ZlcO4aO5CBt9hJ1+eujDWKpryaTJ+n2/c5/fh3f8Inunn37QOpDqbVsG0PTGUvvJjz4/hGNtd+mWH/ku9pr8jsfgfCUIgtEn8jZDMmjz6Sd/8fei+ZqnMvQoLsIZWAFgSAfXdcXpe/ox1osR3wSEv9OTP6CPZzQV0/zWKkb4uV47gGc3V+Dn5Ab6/PaT3/aGXX4um5rAlstohfIsTFKCIJyW+OBP5DVp83niLC4fH8Njns9gTOgFFwA9v4+hHvt9X9/Tf/fbSfbAD9nhhyeFv665OwJfTcHhx9If+wJdg975/aTDD4f8No0jkxwmg0h74SAZ+BGE05MEF8C/QTJp83kRvpo5cTx+WwZCmhVcAPQx3o4LPHjNFxGBnX572d8p/Pg+h2e19ML7fg0j/NQRfrT8ajDt1wM/Myfwzm8XADv8IzZnc1rfSJNBpM9gHfQqQRBOwoKZcCU8anSaz1KcmOfi79yTyFP3ZPKUjpN6KAD6Qg77AM/6LyN0+J8+5NFjvYGd/pA+vw9/nq93+n/QNgAi+C0DSYcfxWBmU2/8vHwd/qBlP43a4efi0XF6wjBMATgOH5Ez/oLw1Tv9a0zv7LMcijLLInjEY8n25RzYyQ8UAL3kv/ddvdmnB3we7ZjpD1ryB/X5ffj7hTyvtS/f1jYo8M4/Hxt+CD9afpU8cU/X0PBDhJ8G3JliMuvfDrfD/koQhJPwwkthAzxhUgAsp+LCi910w+pknoNgBxeAOnz/mw/i7Ku6Cef49ZTf7LbgJ39wn9+Hsd6uXN/WPxD+oGU/zcV7/5S93RH+nJDwo5vAQ5dnUGq5x2QS8WNYqwRBOIkYOBruge0mfX53tMWl343kieuTCXfyhxSAW/Df//VxjF7yb0Sf357pn9V6ivDbos1X11x86vDDeRj1ndFUjvf+vNDww2s2+bhkTBw5PUaz/othnBIEIYRYOCNop5/CGRlvUdUEL03bmkz1+1LtAkBzWtMJBYBuw5n9xw94aXu7RRsOu+jutxPJ3ulH+Dv3+fHVTzObe9CtbdV0W9vAkD7/fHgLnv6zm/rTTa8W6j6/rf3OP0a/9+fQoLu6UGSS0Rn/1+TDPAXhZDzwXviJ6Wm+qCSLh8yP5lt2pzDCzrikI7ACuPPNZH1rzw77yX/Ypa/qntasw8+dW32TsdM/u6UUG301dvjxNfTJj/DzPDhpTzHVhj759dJ/+JOZHJ8fYXLj0BdwmBIEIYAFfXApbDc5zKN3+v0OHvVwLP/49RT+Ec7sI+C6AODTd3GMN8Ee7NHL/lUHvTwff2YHP9DmCwo/dvqx2debb0foEX4KDX9NR/ireXpjGSP8FBz+0Qj/9Q05nHNZtMkm5TF4D4xWgiBo3LAMboDtJm2+f7B3HtBVldke/85t6Z0SISEVQpAWSGih2nUcRpoIijxRSgBpgoUBRRRGcQYLKqNgmUEsjMI4goI0aUpPMIEA6gMVUSnyBsfQZO/3P3vuO+twC/cQmHlj7tlr/VaKy6W59/73t7/dDjL9nN7SxXe+Hi87+VDDNxzApM/q0HNI9mFNt3T3zTsaIzkA49T3lvkEqQzkQOhtIP7O7L3zk7/49ZKf3u2XgzJfBnkTfiL+WzdncAcMFiktZJLyLPgQ5CrbbLNNLBLcANaB01bKfO4oRY2vcPOoxQk8fV+K2QHIMM9L38cSTn3Z3oOefh5fKeL3q/MP82b6H0Cyb9LuzuaEH/mG/eMq2vHQsnyjzi/iFzL52pdTOSHLbaXVdw+4we72s802o8wnmf5S8LOVMl9ErOI2fT00fmUCP7YvmafvNxwA/w7fv3ksWnb2/XNPf4KR6Qfn1Pl18Y+pyPeKv5NJ/ADJPpP4Ue9vjzVfzRH6Z7H35Cev+Lnn0jTOuCbaSq//38FUEKdss8025fTd3hPKAUTFa3xFSQQ/uCmBnvgyGX37KYYDwH1fOvqwwEN/Sg9N++8UqfubxG84gBJk+sdVNEWSr4O/+CF8yfZ7xT8e9/7R5a1R8ssx3/lJF3//TRnc+h7M+CeE7PU/C5bbWX/bbFOGTQbHrC7t9EQr7vNoFD9emQixJ9HvvxIHIKe+XtP/AL38m0nxkp88ukMgZPqDiR9tvc1p0u6OhvgDZPvJK35s+mmLbr/G52T79THiW+EArpqTyomN3Fb+/w+AzkBTttkW5qd+GlgATgMKiaaoVoZGg+dGkz6mi8dvke4AsJ+PZnyZTH/8Lp7WntFw59cImX56YE9dGlFu1PgF750fz+jPQGhfRJN3dyZk+406v97bL+29EL6Iv6IDjQcI/alkR3Op80vYD0T84NeL6lO9Yksz/qfAMGWbbWFuLtAGLARVlh7N5VGcWeDgexbG8HPfxDMcAO71SRIBPIWvrx6ORcivkOmXnn4p842okFOfhpt7+8FIPdNf2YYhfhbxG2G/f7b/n+LXS36t5N5vTvjdCvpuaEAtMOPvcFvqU1gKIpVttoWxecC1YDk4Y6XM54lSXHC9kx/4IJpnQ/zPf5tgOIBnv0mgBceikOyT+75k+u+pTPWKH5jGeUv0BR4VeUj2tWURP5CT3yx+YL7zQ/w0prwtSn4NfcQPtmbylbNTKaqW00qv/y570Me2cDcN3AZ2WJ3mi4hW1Km/ix9ZF80vfhuHbT2GA5Dv3z0eobf18tozDn2yTzL9hviBhP3lct+XTP/EynaG+I06f3Dx89jy9jS0rCnu/P7i77ksnWu1iCALEcwPYLA4P9tsC2MbAr6yuLRTwv4eE9z05KfR/PKhOH1iT0Q/Gw5gLn7Gfn69rZeWnZDtPXz3znoift86P05+tPU25d/uLhbxh6jzG+Ifp5f8dhSg1TebB/iIvz9oMjBBxo0tOIBX7Rl/28LZYsDj4LDlMl+c4v5T3Dz3q2jC/d7sAGSSD7V9yfRjTz9N/aI2pvxE/IGy/TRhVwGE3+lc8Vea6vxBxD+qvAglv0bkJ37sDuz8h7ocnepiC9uIttpZf9vC1RygEXgJ/GilzOdwKq6bpXjC6x6edzia5x2JMRzAS0Bfz42n8UqNX7/7T9xbV57NB/GbhS+MKM/EyV5ID+7pYog/0Dx/IPHj3o+SXxOc/Jkk4gf9veK/7rV6nHK5J1QEQ+BrMEDZZluYZvqLwFvgtIUkmYT8+R00nrTIw/MPRUHshgPAss5YXng8gjec0fQlHvg5Rtp6R6LMF+jkH1WRC4EX6cInIL39QbL95Cv+seXtuGRHC7T5Zkud3xz29/wwnRv2ipOsfwgHcAI8az/Rx7ZwtevBGkBWcEcoanOjg6Z96KE3j0bJzP78o9EEByBfF//DIzP8KPPR7G/jCeIniN+o8xu1/vJ0zPDnETL9uvCNOn+weX6jzg8gfoL4sdO/EPf+hiTi94KTn/p+nEntptaiqDpOK3/TFvthnraFq/UAnwK2UuZzOBRfdbuDn9nikc28CzCuiz5+iQDe/CFaX9whY7wr9T39BxNls48p7DfN86djW28+kn3t+UGc+t6T37/OD3zr/HLyg9E4/e8qyzfu/CJ+nPz99ND/9XqclO+xksOokkEf22wLwxr/GPA5IKsOoPsIB7/6mYcXHY80OwD5ioWdpCf7lp1w8wy0/OIhHSbxC8be/vG7muGeX8y4819QnV/ED8aAkh0tIf4sc8JPHECfdZjxvy6GlWYpifmE/SRf28LN6oAp4DtAIQQiQoqJV1wy00FvHXTL8I7XAcjCjoX4uh71fYhffzinjPaO8hc/l+htveUN+N5dLXHqdzLEb7XOPw51fq/4sdO/UO795js/Tn4C3P7R2qy5QiYxCXwMspVttoVRpj8XPA9OWSnz6SF/RhPF977s4EVH3LT4J4/hABaC9/Ez7vveTH8k3bu7rgg/ULZ/ZHkW3VfZWkL+INl+Mrf3Bkj4odNPL/m15UHb81gm+/5P/FuzxAHcsKA+RyY7rbT6fg2usUt+toWTFYF3re7sc7oVX95e8ZQFDl5y3AWxGw5AQFOPCB8OQDL9ED/5iN9LOkumv7IIZT6T+CF833n+oOIHY+AARpW3Q8mvGQ/QQ/9zxJ/Fv/kgnep1imblCPn3HQP321l/28LJuoCPAFt1AB27K561xsHLIfSlVW7DASDLzytPOSXZh55+dPrJnn5Z2ukrfpz8SATmoZmnrX7yh6jzd6Sg4gcQP5WUteKB23L9xN9nfQa3GJlE7jhHqL/vDFhkr/eyLZxq/LeCreCsVQdwZV/Ffy53SDbf7ACArOzCfV/+2TPfJIr474boA9X5x+1sArG354cgfN0BBBG/Mc8fRPyS8R+5o4gGbW9siB+I+G8BXZ/Deq9ct5VW373gKnu9l23hsqd/GNgLfrZU4/couu1eRX/5QtZz0cqTToIDoKVVgtT2t5AirOrWt/sQBnoIrb0+dX7waTqN39UUgi8mOfmNOn/nC6jztyc97B8N7t7RlgaXNkOdP0uv8wv9wC3gVwvTKO2KGNKcIf++H8EEe9DHtnCwFDAR/I+lMp+muHY9RSMeV/z+IU1OeTgAIwKAI8BdX9EmUrgCuHnyZ3Uk0y8nv7nOL229GUam3+fOT0Zvf+g6v3Hyj/oU3X5lBTxgazaZkn5y8vdak8HNhiWy5rRUxnzPFr9t4WA54BWLwzyS6c/MVzxxjqI1JxSvl5FdcQC8Cnx02iH3fUCo92N/f11M89Vn/4RfGo2qyEayrxVC/s6gS4g6f3HwOn+5IX499EfJL1fq/BC+Efb33ZQpoT+y/lbGlQ+APGWbbTXcmoN3AFt1AC07Kn5qiQiccMobDgDCl17+TYTf4ave5os9/cHEz6MrcmliZZEh/qB1/uClPvIVP0J/vmv75Uad3xA/uPFv6Vy7VaSVceVj4E773m9bTTanaXvPz1YdQNurFb/yieLN5OsANMb38nvZ3oPx3vG7Uwlz/P7iB2N35qGtty1B+D7itz7PL3f+CpP4wdCylhjyyTbq/CJ+0HtDJuf1j7fi4E6DF0EtZZttNdSiwc1gKzhjaZrPrbj7IMVv7FC8hfwdAMZ45fcfnXJio0+CTPPpyT6fOz8wZ/o7U2Dxh5znN+r8ZvGXlLVG6N+I+xthfybp4tfp+Pu6HJHstOIANoMOdsOPbTXVIsBAsD+E+A2BxMYr7jtK8bv7IPyz5zoAXfibvL9D4k+e4INMP+Pk96vzjyhvACE35cl7inXxB67zV1qv80P8JOKXe38bHoTQX8QP5OTfLA6Af/WuhP5Wev0P2uu9bKvJlgQeA6cAhcyCa4pSUhWXTFO85h8ict7KhgOQlV34auzpn/x5bcn0i/jPrfPj+wyE8i0h/E6gMxDhk7/4rdf5IX4S8ePeP7i0Ber9OWyIH9y8OYt6rMrgrO6xrDlDXnFOgGdAlLLNthpoDcALgKyCTD9NfU1ELmwxMH6WOX4M95D+pF6E/MJInzr/qIoczPAX0pQ9XRDyS40/yDx/kL39QL/vS28/8J78UusfCYaWtqIBWxsadX795NfF33t9FrW+vxZFJIV8jv9ZsNbu9rOtJprDtL3nlNWlnY1bK5652DjheQsDsFWQ7/WMP+l7+u9HmQ8nf6BsPyHTryf7GOJn34QfxG95nt8v2w908Q8va8P/tS2fTdl+oc/GLL7ypXqU0jzCSifjd6CPss22GmaR4Gqw0uo0n9OluOOvFc9erZDYC+4AIH490094SIeI3zfbD5Dsa4xHc7Uzi/8i5vl9xd+OR5S1pbu2t0C9P9skfgn9ufsyzPhfH0uaw1Ir8zTgVrbZVoPMDX4DysApK2W+qBjF196qeF6p4o/PyB0/kAOQev+TXydKmU/Eb+7wk6/pfM+uJhB6B/IXv/V5foifgoofDCstJNz7fcUvp3/BvSnsitas9PqvBWnKNttqWNg/DHwLzlop83kiFf9mMDL9XynecFoy/H4OAOKXTr/H9yfxGGT6IX7yF38aT9jVFILvyBA/gcDir7yQOn97P/GXIPS/fWse+YgfZEvWP6qu00qr71Fwo93wY1tNsgQw1St8KycgJ9VVPPpJhPWnNe+yjnMdwBaS77GnXzL9WN0l4pc6vynsx88ZaOst4If3duEpIFSd/z4L8/yBTv7hZfqCj2a492eTIX4Ivw/o8VGmlPwstPpWgbF21t+2mmIayAGzQZXVnX31shX/9hWN1/3sQEOPvwOA+OV3b2FP/yTvQI834Weu8+N3WTxxd5GI3zj1zXX+Sst7+80JPwok/iGlBXzrllyWbL9J/D3XZfLlQ5PYGamFcgCnwRsgU9lmWw257xeBd8AJC1l+eUhH0/aKpr2t8eoTXgcA/ukAjOYekj39h2P0h3T4iB+UiwNAW6+e6W9jFn/15vn9s/10jvhR7x9WVqiH/t5GnywS8XvpPCuVY9NcVqocu8A1KgwtGXQAfcDdJnqCtiBR2fZL7OnvBlaDKkChwH2f2l2v6JnVDlpZ5SCM8kLospdf6vrek59wJaDnDsbT/XvqItl3GTDX+XXSaNzOPIi8PT0s932p81/kPL9/nV/P9g8HuPfTHdub4t6fTSJ+0GcTANe9nU71u8WQ5gr59/8A7gPRKoysPhgOloNy8CU4Co54v+4Dn4LlYCa4UV4g234J1hdUBBnooUAP5ezSS/HLpVjd9Q8HYXBHJvkQAchjuL0nv8z3z/w6kfA4bjn1fbL9QF/VnY8Qv9h05zcn/Kzv7Q9e6oP4Taf/4NIClPxy2Ej4Qfj6yX/TaoT+Q5L0rH+ov/9n8A6oFW6loE98Fj0IQX4+AQ6DclACYu3BiP/YO/9AcMRClt8Y6Ol5t8YLv3FK3/7qU4YDkPu/qacfmf5kvaefAogfX9OwwKM5T8FpL+LXCVbnr7yQOn97vzq/V/w8tLQIrb6Nzsn26yd/708w6PNUKuOJPqyUpV7//HDa8DLVuBMGwGKW+BB4BOSDCGXbf8p7Ow38aHVnX1yy4iGP4dTHxp4VAOU8cQD6SY/Qn73DPfoz+fmhL5Dp3yXCJ98Ov1EVDVDCa8VT93ZlCfv9Tn7r8/xjTXv7g2T7CfAwKfk1YVPCT+ith/7vYNCndaSVz/dPoH84PcVlsiH+i3MA7GU7GCmOwLb/z/t+IzAX/GTh/ZNOuPQ8xWP/6OTFf3f5OQARvzfTj2f2yeouiN8o85nFP2ZnFpJ9hSJ+b8KP/MP+C93bH0T8OPW9936+c3tLnPzZPuJH1n9DFuX0jrfy+f0ZzAExKkzsKiPkv2QOQDgFloMB4DJl27+7uac1eAf8aOX9w32f8ttpPOUdJ793zCWP4DI7AIifvOLHI7pj+bcm8Zvq/BLyI9MPgbc1i/+SzvP7i19Ofiz2bCWhv6/4e4EOv08lh9vS53cjaB5Om11XAL70DsDgEHgN9LArB/82uxp8BM5YeH+kp7/gSo1mrHDxX39w8wdVbsMBYEe/8Wguvcz3wndxPGF3qln8pnn+NLT15qGk156nQugPwwF4w/6L3dvvX+cXRPzS6TcErb4DtjXhvgHEfy1C/+SmEVY+vwfAwHC6vt4Gjv1rHYBwGuwHc0EBcCrb/lXWHey2+v5omuKu/Rw8u9RNfzvu0Wf1DQeA01+y/VtIevoJe/qxvUfEHyDbn0YTdjXBad9RTn6T+C96b79/nd84/UX8Q8Ed25rTLZtz+WYf8XdfmcnZveLZ4QnZ638CzAIp4ZQcWmG0gQbDoUhza4QXUJDaqQZUtTgFDoFHQYrtCC6pucBgsB+QFXDy0/VDnPT6gQh690cPoX2Xlvzkpg/AhyectFEm/BS+d9MM7Okfh0z/aKnxA2OeX6c+wvdmNHVvF5q6p6u1Ov/O89T5y0PW+QWE/Zjvb4Mpv1bY5Z9HN2/KJsn2g14bs6nnJ9lUcH9twnovK6/HWtAknO6Iw8Gh8z68Md7FKb1rc5O5Dbnde42ow6sZ3PrB2pz1qxiOQxeVO1qrboRA4EswEs4k3R6vvOj38jIwAxy39PprihPqKL79ERe/8X0E/xXZfN0B4LFceEKPfvI7jRZf/Z89jEz/GIj+3JMf930j01/Aj+ztSsad3/I8f/EFzfOb7vzGyT+4tBCLPfOlzGc++SF+7vJCPU7M94T6fBLYD25SYWSZYPF5Q0SH4tgbanHDRc25YFlT7rgyn65d25B7bszm/hsbcM8FqdxmeBynFbrZE6NV94pwEqwCA0CGPWlVrfp+I/AiOGbl9Xe4FKc11njkCx6e/508httwAAj/RfwQvvD6D1FS5hsD4cvJ7yP+sTuzEdIX6eJnOfmDir/6e/vNdX5f8Q8pLcKCj2ZGnV/E7+WGJRmc2T2ONWfIA+pnMAV4wilUHAQOnU+gWoKL685qwnnvtfB1AMi0ZvDgsnS8MfV40OJafMWEGE4vcFnKsgbhMPgL6Gk/VfWCrBAsAKetOGAHxJBb6OAJb0Twn7+J0p+/bziA9+AAVkH8aPCRe/+8o9GMtl4W8QMJ+013/nGS6W8D8Xcx6vyXZJ6/PHid3yx+gJJfAd+yuaFR5xfxg5vWZXOL8bXYZS1CXQ9qhdvpvzCUQCOuq8P1F7Y+rwPAPVB/bDPqvbV5+LsJdNXdkVwrw3ExScQvwIugnTgq20I9kXfthby+La9x8pSlkfza4WhM7EUbDkB/HPeqkw6C+PVOP9nTf9854gemef4Ju/Ig8vZy8ov4AcR/aff2+2f7ySz+wTj9ce83J/xIQv9NOdztlfocXd9l5fP3Pbgy3JpD+oDj5xVojIvjZzaz6gBk7nvavmSaviuRxy6K4eJ+bo6Kq3YV4RTYCZ7QNHsEM4jdBLaBs1Zf38IbnfSH0mh+7WgMQnvDAfBCnP7eJ/LSan1P/8FEKfNhiYdfnR/iR1tvE4i+I8TfzZTtv9R1fv9svyT8jNBf7/ZrahY/S9IP4u++OotTi6OtHEAnwORwm/FPBUvPK0BNccchUVyyVZ7JLsmUzqsac7fVeed1ANP3J9PMr5P42QMJ/Ny+OJ70fhTnFzvYE1XtJOFJ8DkYozSVZFcMxGLAaHAAnLXiYF0Riq8a4uYnK2LoT0diTA4gCqG/IX5eVuWmx75Mkcdxy8nvl/BLo/srm0H4nf3Ej9Pfwt7+4mrV+Y1SH7L93pMfJb8C1PtzDfED/XNJPT7O5stHJLPmCvn5OgsWgKywqxGHEmBaDpI/pcZCRyAfDjyrPYFKPq2Pp6lk8AAQzAE8dzCB5yCE/NORWPmgjZ7j5txWGsckKtK0aucINoFbQGoYO4J6YDo4YuX109t6k+ppfMu0CDjkWL17z3AAbx6LlrB/g7e1dxEcwSP/XYsg/EDiRwIwA9e8VvQoxC7iD5Dtn3zeOn9xNeb5/RJ+BPFju08r7qeH/iJ8CfkFiJ+Kn7mMI2s7Q32+COwAXVUY2lxAwcAEGN0xUdGqY1L/9dvxvg7NIPOOxNBDn9eWGvAoAAdAcAA0fZ84AHr2YALN+S6O/nQ4luAA6C/HImnOTg/d8YiD8tsq8kRVu4fg72Ae6A5SwmzqsCGYBU4CCgUcLaU2ctDtT0fR05/F0Vxs5PU6AP09kXo/En30CXjbu6cfIT9JqQ+MAt6QHzP8OdjWW0hI9oGuIer8nQLM8xcHqfO3s1znF/GDO7cX0m1bLyeIn3oBnPpCD3D1gnSq2z6KNEfI1+cwGAsiVRjaAcBBoOzLFT+/Wvq9eYMJ/IyykDgBY/4bjoAf25+M7S91zhsBvC1JJo/eYkqz1jv5tgc0bpB3UZ2G+8Dz4JowKRsWgLcv5AqVVejkIa/E8KyvE9C6G89wABIBzMPpj0YfeT/XA31P/0T09OPUD1TnR1tvQ5zubflRnPhGnR9ckr39wEKd3yj33bW9iAZua4GSX64R9svJvzGHb1yeyXl3JJIrxhHq9TkF5ks0FabG51n7RL1GKP7wmIY97oJkhCF2Ya1sgnGgQUQzHvekz4K/AZE/eSAxpAPQO8yWnXDx4qNOfmaVg3uWKI6Oq3ar8RmwE8wAGarmWjfwIThj9fVp2NHF45bE8Sy07T7/reEA+FVEZMuqXFLfx3sp7xEe0qHP8fvX+cGEysYQegd+9LNu7A37yUj4/Yv29o8IKP42fJd+79/eCq2+jfzEf9OGbG47I5WjL3NZeX0+AwVA2Q7Ah7hERWOfVn7ixxIIIOOgkiUG8vuNcARbWfbByc9oGpFe8RAOQJzGR6ccvOR7jWe+r7jDDTKMUt1GoiqwCYwESTWsV6MP2AFOW3WQLW5084QV8bKH3+QA5L1Afz9t9j6RF/kcvndPqojfp86Pr/X5vsp8CL6TWfz8MEJ/SfhdRJ0/6DIPo9EnsPgR+mOxZxPqbb73Q/w9wNVvN+DaRVGsNEufn4Hh3mzGwYhPVjRulgosfoCRUAK8Eqw4KXgdgfEASMLJItnlVzAu+ufzOwD576w/rXjFD4qnv6W4eQdFkTHWHUCAisHHoDdIBtovfFX3SPAlICsRUkScxt1GRNFDpUn8h6+S+akD4gB4NhzAq3gf8JrL+7MUEcDjXybrmX4f8YOKerj/p2Nbbwtp7jHEb6HOL9n+nZe+zi/iR6uvHvpD/GQ6+YVfr8ri3P4JrBwhHeRZMN+uJIW4Agy4T/Hqk77id8g8OLrEaOUpmQ8XloMPZWRU1kSZcwQi8EXHI3kB6szncQC4i3pXSpPi5UcUjX5CsZ6HiIiqdo6gCrwNuv1CR4/rgkmgyurfn1DPwddPjObJZUkY2EkxHIAeic0/GoP3Urr79B5/mvxZbR4L8QfK9o/dmUWT9rSG8LuCbn7Zfut7+6s/zy+nviF+OflR8muFe7+Un0lOfS83gaLpdfUpPyufj232wzyV2PfnE9CVfRUv/EoXPzBOfkEXLvmKf5mXpWAFpsfWiSMwHg4h/54+YPIeCOUApOKA7+eXKb71HnEEuBpUO0dwCMwAHX9BC0tzwXMXEgHVbujk7tNjEZ6n8O/2JRsO4Gk4AORm5K6PTD8ccSQ/+HktCiJ+JPtyUMcvomkQvr/4Q87zV39vv4jfr85viH/Qttbcb3M+wv4ccQAm8UvoH5ftsfL5OAj62QNnSuxvgAMjj3jmp1YEED9O/jUnU2jlyagA4gdVWCKhj5FWiSNgOAIIWnoI5AMIh4J/x0UggAPQDAewheUrr/lR8bPLFfdGUjLlsmrvIzgDdoCHQYv/8PCvFXgDnLT69/0ve9cBXlWVddNIIwmkASEkhIRAgFRKAFF67yJNRBQF7GMHGSnSVYqABURQRBBsdBABcUQ6CCIzEwEBadKF0EL5Z+9/nT13Ljfv3fveJQSwvPN964sBSwxZe++z197rxKQX4a5Ti/Ere6J4+F49AOD+H44Jv0A4+Ih/H6vOv5b5zXR+uPUmg+S1eMSuBuRc9t+cfX7Tbj9kPuOd/yGg++Y0lP7ltbJfAoCQv+XycpzQIQyLPm4TxHngdZGNPUfO3wGyQhHYQvUe7k1fnvYhEJ+k7AdWAusvpdG2y63p20vxKpOrjjItE8j+OC0Fliicl78mBAoCyfUZAvV6rFISxF0WUL+3Fr+mrg7yrJT+lrx8Ln//0qPe9NoCb2rQUb6+guKc1ijs9ztsFPoCTYBVNn36BQl1/Om+meE0YFc0IQAQAoDMYYD8BPITlBr5XsO9RzR+3PcddX4gljDTD03/DhLyAyL1AWj4Fbpvv7XOD2g6P6Q+0fof+r46PbAlE/v9FVXZT0J+7Pa3X59E7YCMvrZ3/FcBVbw8Rz8ZwAVXGaZiVS+evl3u/Wy486MHEE45Vx7n3VcH85bLTXlFXihL5geWXpQSX9ZJFytoZf9ibb1Ukw5JuxpIZjK5AugVwEZZR5WtNKkWvsC1pN9UHyqfeUOORWeAlUAbwP93YsbaHtgKXLW7zVe5bSA/vDQKnXqZv9ArgDEHwgmjvfheS8Wl+gAypfms1vDLr/PH4l2+KjLTr5f9Qn7DeK+Vb3/O9ej8tU19+027/SC/lv35wS1VUfpXztft18jPdaeW4fDUQHT93f75HwC6eRp/+U80sNjdLkCvYT78Za6vY8OP1l6qwvuuvs77/28i77ryMq/Lq83LL0agwRSgSE/XyB/AC4EFAEZO5XNVSWiBgDWig+RuAwAajN7SiFxx0Zdm7/Xlh4b7cHyKmFgWoEmoNwoX4//zrtu4ehwM9ARyAbLz9QcU86FqDxflR1aXkGWd/jtlBJuHIAAo+XWZJvOpwD0Uv/YcrLvkzp9f50cgiMdYb6Y0+4x3fm2f37XOn2Nznx+w2OfXyW/S8CNp+m2pxvdtSpN7v/HOrzJ/s0UJHNci1K6t9+t/dcnPKuv0sagCSL9fJuI1mB98jeRnKfvxcfvle3n/1Tf5l6sTee+VsfzPy0/wtxczeNmFCFoMouvkPyfg+cC8c4Fq64xUVYArgPQFtrA0CwWbXAcAyWioJNS1QxxrJm8rwm0e9+WYJG+oFwXuEeQCE4DaQPAtXsgaeD0VTFE8X13zqVB6YmsMw5aL+2oBYBACALr9qMb8VOYnpbZgTFtkPueGXwyuAgk8YGdVIb6B/K73+XPs+vbb3+c36/arsr/n99X5/i1ZuPcnO5KfW61KpNSnI7lIqK1182UeA1rrkwqsdfcD2PwBb/7yrEZ+QO78+LjqYiyy/yBUAhN479XxCALjePeVEbwlryutupCCCiDMhPxAbgB9IR8DpUrQZggMgcB+AEAgkU22gXP9ue69vhwdV1BHIsFuoD+QCfjfopn+C7ZlvgQ/rj80nB/foXT6awHgZYxgTz4aJhlf8+mnV4T8pcykPvxziTRoVzaP3N2QTbv99vf5C+Dbb63zg/yCnnLvr8ZdNlZyIn/btUlc551YCknwt/Pnewy4y8tzLE8IMBjIc/UDGBzmxaMW+erdfq3hh49BvCGvIe+5MkaRHx/HCnZffp3+dekF3pjXjpefT0QACBbyz1OkB2A8QQDmAuBEk6s+D1BklkCwUQsAWjDgTTYDwOeYM5i6J4j/9r4/Z7fzpeBiBe4R5AHfaKu2CTehdPQBsjXXo3O2Zb5Uf240Nop7b401BgAh/5SjoaK2rAE+OBGirgMkmd9Y9iuoTn9OeZT2tciU/MCt8u033PkdyY97f3UYe6Zyh/zkB8pz82XY8b8r2E6AvwwM8pT+7k8m8J3LdVJvmEg0xdtwR/1Yk/pIa/jxygsxvOPS4zr5f74yBgFgNCEI8M7Lw/nHvGd5zYVmsJmKYiG/FgCE/BowJCTArwup0RgkrT+gzRHYCAC5QbLaOuN4MI/7IZh6jg/gpGyUiN4FahL+BzgBrBK7dO9Cqwb8gIbA18BlGwFKVnlj7wziFh+U5Ac3leFHtpfRAwCWr2SJZ/VVkVKlCoB1FwJDKZKGnwP5++WkgOh1FPEddf6b79sPGHV+S/ID3TdnUMcNyU7kbwtUejySfYrYqvBmA3FenmPrh7I/cMYVQUKKe/Gjo310nR/kBwFVxz+Av7tYg3ddHqrID4yWCmDX5dfwa68iCIzinEuv8Pa8p3nl+WyWzA95ykj+T86IKw3PEcivKTlRsr9eCZAEAbcBYOapYPUuPU05FMKvbw/hdi8HwH/Au4DbhhIITgLLC8kmui6wB7hiy7QTvopxjYO51SelcR+OxyhsnB4AIOnxnN+CZHYCMql6kVcagtpoLxnIj4/o9P9UGYSvK2W/qc7vMOjjON5rX+evbeHbb6rzC4zk74Guf6eNKWRG/rvQ9Q+M8rXz57cLaOTJ/tc3c75Uc0UlK1So5k0T1/jpOj/u7wogazhtzuuMrP8aCfkvvUY7L70KjKKfLo0ERlDOpeH070tDaMvFPrTsbDquAOH06Zlgwr4AzVHAAhEm1uhjhVPBNAtQv7cc1w3ca/UZAlhUy/wAfl2+DgQAJXkRrgDy70EAIBUAph0PUdq3eBIM/b4Y1e0VQMVjfcjH74ZmCKYBVYGiBbhq9dECCtkB1lnV+3XUcXVZ6ralLPXYGk8IAPToj7FqjFe+76iMZP5iGLR/PMetSO+o8+PzOHr5pwyU/A2AhrrOb7XPP9Bsnx+z/f0s9vmfva59fhDfROfviZL/QaDHlmp4v78ydP4kXedvu05ATRcmUHhaoJ3v3WngCY+P5PWfNsAxVxmySAAm8p714c+PGnV+Tdq7UJn/eel5VplfyI/M/9PlkcAIzrk8HFXAMP438K9LQ1ENvERrznfgpWerYFKtuGTu2QDIDxRlRf5Z+DjzlECqBqgQohjoy0ZXZaKQF1tUANh5l6erEACgg4fz63sj+Il5xTirQwAXL+NzIy8b7QEGXUejMAZ4xazCskJgtB9VejRCLNe64ElrBABGAOBeP5ThYfsiZZYffRFx7xmOz0F+Y7df0/lVs68sD8RM/6ifGxkbfrfNt1/v9oP8jmU/mn4w9kyHn1+yrvMj6wtaYNov6b7i7BvkdtY/D5gmO/6eUyBZcJq7H9DY8l48ZK6fPB1l0Plxxy/K6y625J9AcMn8FuT/Z94Q4BXakTeYt158jr8514IXnCmPefUQFvJrAUAR/yNgxinZJhRi4wdexoc3astGqAZkJXkJvg4ECZcBYMyBCJiWRPLAHRHcZVIYla/vz0HFvQs6SHQZWAM8AyS48OlPASYBv9mW+cr6c2rfEtT6H0nGACDkx4Sf/P+rikjN9w/dGyXEN5JfANfeF3ISefCubJ38pjr/Ttv7/Dfo2w+Y6Pw6+b+vhnt/Jkr/irrOL2U/0Pq7JK46pCQHlfJz9/37D7AZqOHlOQU+FfXnpKw3Bbl+Fx+a8bO/k86/9FwMsvtTrEp+E/IDQn7ecXEw/Zg3CA3Cgfj7B/CG8715eW4D/uJ0PAKAkJ2M5P9Qw3QAgUH9twi77PrsAPzsxKsQo6/uAoBMyg3GyOzjX0dys6FhHJftz74FGiTS58vnAQ84jBb76D79drf5fCDzpQVy5sjS3GyFKnvL6wHgoW1xcsfHOLb0QdDpJ7zIq5Pf0PAT9M1JBsFr8cifG+rkN9vnL7hvv533+a33+aXs18kv935IfpX5biG/gBT52+B7UH8WdvyzZcff3Z/POeBhz7TfjUtUA9wRICjEi/pOx+uxuf5OOv+q89kg/VCyJD8y/48XB5GQX+HiAP7h4t/5+wsv8NrzD/LS3Nr88akICQCO5McPPhAqBJiFDLjwXICMEm8m3YxErgMfnXQfAFQH/fkd6KwvjeY7+4ZxWDyaS972A4BD5vlVI3sTrZLKAjYCebZMOxFUw2sEc9WJcdz462Ru8V2yHgB6bouXAR/M80vFM+mIdPrJnPww8PipIg/bfSeNcib/rfHtB3Sd31rqIyE/IKX/pnSQv7ze8JN7v5L8vkLpf39xWfO1EaBneB6SKZyTBKx2QwJKTPfm2Yf9DeQXnR8oyt/n9SEr8iPzg/QD6Rr5X+ZtCABbL/ZHEOjHm88/x6vP9qAvTqcgAIQ6kf99QDX4ph7HRwCBQtSATaRLhqpfQKqfMMV1AEDXvKSQ5zFM1XVbXJIze4Wx2Eh7F2iQ6KomHX4CHAb+Y+ufV4692SGcPQfZ7uuK3OTbCloASOIHtpZlGKrqW5R6px8ynwn50emvxCN+rqfKfhLyAyC/fd/+nOvR+Wvb8u036faLzq+Rn+/fnIVAl5yv298GAaD1miSuNrwU+wZ62/n+75Rei+cUWhXQFjjp7ge404u+PO+MPuGn6/yLz8bTP1Hay50/P/kBIT794ED+rRdekgCwRYJAX9p0/gX+Orcjf3IqESSINJA/VPnaIQCE8XvAlGMClfXRFNQbheInoKTEqagE4IjjKgDImwforovM1mZODCe0LEoB4b7IzAV/Ht2WzAfjyhLtI7jWikp819fy3oIEgJZrylNvyH2QSyWwQW4V954Xcgwyn+HOj04/xnrT+dU9jVi789+8fX7Azj6/cbzXpOFHPYT8SvKrxEJ8nfzA2vLUeF45uffb+P6eAdp4JL/CPbHAdOCqqz+A8JJePGGDv4H8QK4a8Q2j1edbgfiDncmPwADykwvy86bzL0oA2Hj+eV5z9jFecroxzz6ZBDPLCEbmVz6D9J4QXyBed5OPiuedzBFgHl5fNsJ0nJorEEus0SCRywDwQ5y8dXDPN/FUa2QJjqlflP2L+dyUAOAXVYRL9SzJWQsq5wsALb8rD50/Vsl8MgGJqgomq6rTLyW/HgA08uPXy/KgXVWF+ICFzl/PfJ8/5yb69luTn3uoAADyd8WiT3tn8nOLFYkU1zrMzvc3Dxgt/RfPKfTTBPiXuzflG93vQzPxpjyIL5AhH2jyi3ITaPOFR0kafrjzS9mviA9su/B3wdYL/en7Cy/R9+f70RZAMj/Iv/HcC8DztOHcc7T+7LO07uzTtCq3By04VZc+OlGWVACYonA0jN4FJgO4GwtgfqmCg8wFrEQgwJVAgKAgMwJqVfaV/wYAQgAQ3RwBQPR1BABCAKCumxMwiVaOmi0oS6kvRlNE9WDylvmBQgCuF/5lA6n0M2Uo9YvKVO2rVEIAIAQAao7SH18TyF+EsB4tcxFY6BGNH2W/gkHnL00v5iTR4F01CM0+AvmNOr8d3/5bts8P8ovOL5kfQOanbpsysN9fgdqtKy86fxtAZf5W3yZRer9o8g32dve9/D/gK8+O/819emoUcM5VhouAS8/z04uwPtsPIOMiCITyinN1kO37SuY33vkV+fXMDxgyP/ACa+Tn9YJned25Z3jNuafRG3iCvzrTmT87mU3vHyupZ36FSQDIL0DTjACpFvB1SQNtC8sbB3ItQG9APPGsKgAJABvLsbqHt0BGrjU9gRP7RHPR5MAbqwBw3w9IKcqlByRQyrxUTv8yjREApALAU2uy0feVbPN5qWEmHoBOPzK/Sbc/lvr9lMxDd9diNPssdX4r625k/kLx7bew7jbX+QGQX3Df5izqqEp/h8zfGrhjchkOS/a3+3hsJ8/Az809KcB2Fz/gIgtWb+7Db20LMM72E8Z70R8ozevOd2enhh8yvyX5UfarzA8YyY+rwN/4O2D12Sd5VW5vWnq6A886kYogEC7kn/Q/8h8prhp/mACEGy6Az/EQRqg0K9dpq8dYnCHMFMi92k4AaIx7+Z1fVuD0SeU4pmsUF4nwK1AA8K8QzKXfSOHyc9Op8pJ0PQA0ROmP64nYdMtM/5FQVCglLchfGp3+CjT85zt51J5GRvLfUt9+CzMPC51fL/2h98PYc2MqGUp/nfxNFpXjMq3QiHU/638eGAuEennOTT3eQG/grLttwQdG+PHHx8X9l9UIL2b78bEoZL2qIPnfHLr9L5FO/gtO5GdV9puQH3hKAsA/cp+gb3If56/P9OZFv7Xl948lIABECNmF+Hi7UJEfgEFGOICP+Ov3joeKa9EGsR2TQMAzoRbgRRzcu10HgHp4FLU2MnXVRZU4+Y1EKla/OHsH2nz+3BeZP7s4x8zI4IR5WZy8MFMCQAYCQH2QH4FLmpfQ+eVrxXPcquw3y/z8952VQfwGlI/8gMM+/4359u+wofNvN3mxR6Dp/GbkF3efDL57fQVyJH+Lb5K4yjNRsuNvw9Z7pcfb79adIOBLdxkuKcubR6wI4E+woCKz/TLeC/wWyt+cbcNbQXa97Md93yLz83otAOjk14mvk5+/OfO4BIBVuY8hCDzKK0734s9PNOT3jpZF+R+puv4EIgn5JwDjgTcOCXjcoQilJNAq3Z5MpgnVzIBk3Ae3xlsHgJWVuPryKsjcqVQJBC49NIkDUkPYO8TXepuvqC8HtinF0R9mcuy8qpwwXwIApS1NU3KfcuzVOv1FRKl4AV8DyJ9f55ex3jg0+7JY6/QTUAj7/HVueJ/ftNu/5X86vxBf0F1GfbMw6psiOr+x7G+F73H2uNIcXNrPzhXr0F/9RZ/b9SzVKXclbusn/fj9/UEsiz2G2f4vTidg2u/Ra91+BAAr8kvmP/sMWZBfDwCrzgj5BSvPPIIg0BtPjXXhWcdr8rtHytKbhyPNyA8tPYLHohEIu2z5+tAc1F82Up33Uei499lehjrZCABJCzO5zMx0DusVx0XSQtk7SK8ISMgf5c8B3eK4+LSqXOLz6noAqLIkne7dlKAqJRnumY9OP17k1cgf46Dzqx3+BJTz1ZD5GyIANDbo/A3c+vabdvsLybcfMJf6pOFnIL/c+6txpw1VdJ1fyC9I5kbzE7hUvaJ2VJQrsrnqObdlT+BNd39A4THePHBBACb5gkhf7NGwLLeeg85vTn7J/Oj6W5IfmR/kp/zk78PLEQC+Ar78rSfPPdmOZhyrgWoghsc7kh9QSsBo+RjB7/xaTIi4ShstVn0CqAVQCqKRsRLcBoA4kLrUZ9U4fEIaB4LsPskhqtlHXmWCucgjSRwyvTqHf5qtB4CUxRmwuY4nuCGJzKf+2+q/pZMf0Pf5Zaw3Cc2+mjr5LXV+wL7Of+cN6/yS/V3r/EbyQ/LLQNMvWdf5NfJL9q/4aCR723v3YZ689uQ5t82v/gd3JVpGQx+ecTSYjOTH/D6CQiRK+od1nd+K/FrmJ9z5Tcivl/1kRv5lv/USfHnqIVp86n7+7EQrnvZrOgJA5DXyA6MPRNDoA5H8ugYJBEfChIwIALJtiGuBekRTXHearXYTAL6oxpGf1eCwj2pwwIg09r4njrz7VeaAD7I5ZE5NPQAkLcqUu/zS/z7JrXYW0PkvYSS/YZ+/NCb7KoDkd0jZr5Pfcp//pvn2A9a+/RbdfjKQH/f+LIz6plzr9mPQSci/JplrToxl/whfO03UH4E60pfynNtyAjWbrEvuZgMeectf7fMLZgJqNn8GMO90hpnOL5CyH5lfyJ/7FK0Gvs19kkB8gVb2kyL/ytMKjxDIT8t/601f/daLlgkeJkX+pad60hKFkz1p/omu9PGxxvTOofI09kAkjRHyq4czBPQagKfNaRSAz2WWYOE57NprbxIoB2M0FVVPgBAAqPpXVUgLAIQAQAgAhABAkZ/WoLA5NSlwVi3yea8m+Xx4BwXMqk0IAIQAIH9f/10l1RKT+PRjlkFmETDdZ6rzo9MPfb8ugfwCrey/5b79gH2dH9CGfKg7cJ/o/VUxU1FZNf1E5wf5Ba2AJksSKbJakJ35ibPAM9KP8pzbvi242M2cO8dW9KbJu4NYVnoNa70zT0Zi668tb9RkPkupD+Q3y/yrtLJ/BcivZ35BLwb5Uf4/xEsBRX4APYEHedHJB3jhyft57vEuPONIXZ5wMB4VQBQh80MGjORXNai7/0hBhJIH1XCRphh4s7ZfANvtaBnVzVpWhSqbVQDI9ggA7PPRHQQwAoD8WrkFWfJKDzr90nB8CwFFmXm+ADhLfbEY600D6etL1jdk/sL07bev8wNm7/OrhzotpT4hv2r6qS2/NCn9jXd+Rf7m35TnxG7h7BPgbef59+meHf/fz+kM7AfYCjAOoZZP+PG0Q84rvZ+eSkZZ/zDpZb9Jt18yv4H8zg2/PuRQ9hvJzyrzXyN/D14AzEcQmH8C14LjHfm9X2vg5Zw4ED0KxNfJLxixT/YFaNg++T153Rjk112L1QbiU7DkUvJd8qIMlwGg6OyaXGN5Fej6YdLsg52a/DdU1ncq++XzeOzwZ4L0Dei/5G9USPv8dW54n7+PxT6/WbdfMr+M+mZC8qvoQH5sO/6jPKW/XJIDov3sWLJ9B1Tz8pzfzYkE3nf3dl3Jct7cb26g40ovPkbwotP1aC2I7kLqIxfkZyn7rcgPLD75IBnJD+IL5p3ozl+cuI+/ON6NZh5txW8fSuMx+8vwKCP5QXxlsaW68kM1vH4gAnJdkAoEItmpp8o+xPLRfVsSOHNZqmkACPq4FjT+FLW5KH0F+PQjsESprC8BwJH8L+aUk07/q9Lsa0SGzG/t2+9O57eW+uz79gucffutyV+NUfZD5VCSX2Un8rcE7pweTxGZQXYGqY4DD3l5zu/u1AdyALJcdoF9WL3ufvxmTrBxpVc2+madTKCVufeyC6lP1/lNu/1y3zeSHwDxDWU/CfkFjuS/jz8/1o0+O34vzznWid//tSFPPFgFm4IxLOTXAoCQHxiyVz25Ja/uqCe2ZNnoW3gSbtZe3kHfQH7Ay86vqgeAINz94WsHOTRYyn78M/j3RMkqr4nOD29/6fTza1qzT7vz3+J9fmvffpT9Vvv8juTXA0AnlP5tQXpH8jdeksjl7g0ni9JfYJj1nyZ+lZ7zu5QFhwGXXUXw4tgW7PN2ACb1rpFfcLwYzf2tJkr9PnLnN9P5rcivZX7KT37J/mwo+0nIDziR/3g3/uzYvfTpsa6sMOdoZ555pB1PPVyfx+6vwFrmJwP5BYMBzOrL70/EHR7uQ0JuXA1kzHgIfq/68lR0/GuADGXFMxGThlqnP5qF/D856/z9QP4RGOvVyO9a55c7/83z7Qds+/bLnd+M/EDXjZlY8qnoRH51788YVEp1/e2MUv8IJHp5zu/2RAA73b0tmN7El1/dGJx/nx+TeB8cL8HLTt+Dht+Tpjo/oJPfpOFH1uQH8U/0IEvyI/OD+ASgAuiCANCFZyMIzDrSkT880obfOVgbz2vHkQn5ATzCKYiWAAF1QN3r9UWjRQgEqnmolAO1hoxOv3j3C/kBB50fY72VYNt1FwxLGzs2/MjKzOMVK50/pxB8+7eb+vYDjjp/dbIi/724+3dYX4lAfCP5BfU+Lssh5fztLFNdkB1/z/ndn07AZXcPW3QbEcDvHgwR8uv7/DDz+PhkJZT5D9vU+XXyi85vUvYb7/xkRf7PVOY/2pWM5P/4aCeedbQjz0QQ+OjIPfzB4dY0YX813NnLgPwl8pF/AAA/PgIYkOCAJp82USiOxaykvrHo+vfdWdKZ/HIFgLX3zjRGp99Aftf7/Eadf2CBffst9/kBi31+kN+k4UfO5Fdz/lW544ZU3PuTyUj+FkAzZP+YpmF2Rn2vAmM89l5/nKfF5gLkCpFx3jRoZTBNVcQHjPv88081Fo3fUedfYVPn1xp+tFBlfUV8YB4w93h3AvEJxCd159fKfvoE5EfZT7MVjnSmj490ImR/mgl89Os9NOPXDvQhMP3w3XhcpCmN3pdKQ/fE0UCQfgD8+IX80O//DvRX2FmClEcfAgFhcEhmCNBMJBBfafwOOn8MPo9H+Z5Jr+1pCDTWNX6g4L79QOH49mdb+PY77fMbdX7BvUDnjRnUdm0FpfELYG5Cyt6s+bfJlD6gJGlWa5YwLPqU9/KcP8y2YF3goLtJrju7+YlHnzj5gPyakw/6A7HI8D3yd/t1nd9S6iOAraQ+RX6HO7/c9/WyH+TXM/+Ra5l/BgDysyL/9F/vRiXQnqcdbstvHajLo/am4LXdWMn6IL+s6/YHXgKwvQeU4r6A+n1l6oGs7zjhh2ZfAg/ZXZ1fB/ENZX/h+PYDN+bbDzj49ltKfSC+Q+aH3p8Jd59Kus6vZX5ZeKo1OY6DYovYGfXdBbTy2Hv9sU5x4DXgiqs/4IBgL35xfrBYeKnMbzTzmHMiG+V+Hzs6v9z5jTq/abcfmd/hzi/Qy35kfivyg/gIAO1Jkf99CQCqQdiWJx9szm/8UouH7amABzljyIT8ghc1mc+M/MN/rq3Iz5L5dfJb7vMXjm8/YK3z297nd9L585F/Uxbu/ar0ryBlv2R+jfwN5idyTONQO7P+uVpjOczLc/5wVUA2sN5dhE9t5Mvjd4WqzE9GJ5+pR0vzolN3u9X5QX5TnR9w0vmtyC+ZH2W/CfkBkB8A8clI/qmH2vJ7B9ugj9Ea1UBjHrMvmwbtTkAAKOVAfsBE5++/swI6/Xfw6L1N5M5v0Pl/97795t1+lP1aw6+r3PvTIflV1O/8ID4BuPcnc6Wno7mIs68iWez4J3l5zh/yFNFmtU+5CgBBMA7pPCwQTTMJAAYnn+I841gq9P2eus4vAcBa6iMD+S11fpT+TuTXMj9ZkV/L/JSP/Ifa8BQtAEw+0Jrf2d+SJu5vwiP3ZMGjPzY/+YFrOn9pdPpTsMlXF+RvrJEfMO7zA2Y6P8BW1t32df7a1+XbDzj79lvo/Br5ufOGTG63rlK+br/c+7+rwDXGl2GLd/zJZMe/nmfR54994oDFhgdG2QxxqT788soQMnr4wckHgaAkf3qigXT5tYaf1ZAPS8NPK/vd6fwW3X5yKvsBvew/1I5AfhBfy/wG8k860AoBoBW9vb8Vv/VLS35jX0Pc61OxuRdn0PljUAGU4YG70hjNPkPml+zvap/fls7fr5D2+fu42ufX7vwW3X76L/mzMOpbRchvvPM3X51Md81O4Og7gu04Jl2Wxzw9509x2gEHXAWAIoFe3OhRfxq3O0zIr9t4AdOOJvPCU53z6fxLzKQ+6fZbkd9c5zfe+aXbf6SDOfmR+ZH1SSM/T3EmP7+NCuCt/S35zf0teOIvLXj8vuYg+p0gfApGeuOAeJTwWUJ8A/kL5tufc52+/TsKx7ffabz3Gvkx6JOFjn9Vvmd9Ord2JD8yf5OV5Sn5kUjl7WcnACz1bPn9ua4C07QqgK1QItGHHptRVG3FsZBfRyTPOlYbhO9BOvnt6/x6yf+JQec37fYjAFiSXzJ/G7Imv2R+0sjPE35prgIAKoFmPBZEH/ZzNsZ6a5Aj+QEbvv329/kL7tsPOPn229f5JfMjAHTakIl7f4oj+QXVxsZSQJSvnVn/HI+915/vpAJHALIChoOoVlfo5dvCZNdePPw0TDpchuaeaO+k84P8hAk/R50fMNP5uwAWOj+g6fyANPsEUvZL5m9DID69q3CgNU0GJqHkfwdQmV/I/0sLmghM2NecxgMgP43b24zG7m1KYwAQn0bvaSI6/23Y5y+4bz/gqPMDus4vmV/In0Xt11WB1CfNPkFzQJX+DRbAMLWy7Xf8+wABXp7zpzv93M16B+Np7p7vBPP4/cXYYOAp+OBoFkh/v1PmB0x1fmn4Wen8R13r/Obd/jakZ37gnQNa5tfLfpBflf6/SObnccBYYMy+powAwCC/Uee/fb79kv3t+vYDJjq/sduPsl/QYV0aBn3whJlD5m8GJHaPYAR4O7P+H3re8/vzntLARnclYLnqvjzih2IG917gkEIUSvgWjuS31PmR/c11fsCs22/U+U27/cj6LsjPkvktyI/sb67zA8Z9fn2230rnz7kenb92Yfn26zq/Bfkh+WVA70/RB3108uNhk6xXS3NgST93o74EbADu8HT9//wPjJ511wRq8mQAjz9YPL9778FwevtwORC+GwvxHbr9n1vq/J1NdX694Weh8zs3/FqR4c4v5He485NOfkV8wHjn18p+1/v8uwq8zw+Z7/p0/j4F2OfPf+dXyOKOcu+vxC01nV+Ir5G/9rR4LlbJ7ctJpEl+Pbw8509/SgLvAldcBYCQCG9+aVWog3V3OI07GIntvDogfndTnV/L+rZ1/ukWOr9ptx/3fWvyS+YnQ+Z37PYXzLc/59b59us6/xYT8uuGHvkzP+793H5dKsp+eb6cjGV/g4WJHHd3MfYp4u0uAOQBb3sWff46VUBT4N/uBkGyO+P5613FDdbd4aTceyceige5216fzn/Evs7vQuojF+RnafiZk9+mb7/9ff7C9+23r/Mbyd9BJL+K2p1fAoCQv/HK8pzaH/ZeJfzszPqv8zzm+dc6xfQHRl0EgJBIb35wStF8vv1j5GM0TzmcBdJ3NTT87Or8+p3fvs4P6Dq/FfkB6fYb7vxm+/zmZh43y7cfMPHtt7TuRgAwJT+g6/wG8ndcn4l7fyWQX7K+DPoo8jf9VpX+ZTk0OcCOrXeeJATP+cudNGCTix8Q8Qyo0rgID95cTHz7Netu8ex/42AZZPLGxoafuc5/1EHntyC/lvnJlPwHnHV+024/AoAD+W+vb79k/4L59pt3+7NIJz/Qfm2qkN/Q8CP1VkKjr5JZdvy9bT2OOtbzku9f9yrwGHAKICsEhHhR65eD4M3v6NsfSW8fqgJZ726HfX7bOj80fhOd/0AbmlwYOr/9fX5rnf9fLnR+1fADbmyf38q3H9hk0Pk36Tq/oOP6LOqwPgMd/4q6zt8MaArAHp3SXokhbPnZ0fw3eBZ9/tonEFgKkKs7YunKvvzYZ2EM4ht9+/GxBDL3Xcj8naXsn225z9/Bpc7/nonOb97tb0562e/c7XfQ+RsV0j5/nRve5+9znfv83QCzbr+QH5n/nvWZuPdX0pt9Ck1XAyB/ralllbefnVHfPUAjj+TnOXWB064CgA92xus/GshDdoSTRn7dt3/c/kQQvJUiv619fivyG3V+S6lPMr+zzg/yW+n89n37c26Obz9g7du/xdm335z8+p2fQH5IflX00l8nP1B3XhJF15E3EN0FgDNAf0/X33P+dya584QrFuPDD74fSiP3RvCofC/2RMGwsxo0/o6W+/z2df7WtnR+C6mvcH37gVvt2y9lvwX5tcyPUd806P0VncjfaGUyJz8WRX6hPu4m/a4C8z32Xp5jPBnAbneusFWa+9PgHeGOL/bg8xiU9c1d7PPb1/lNJ/wAE53f2O2/zb79gKlvf/Z1+/Zbkh+4e10G5Sv9NfI3WV2Rq44pw0XL+dsZ9d0NNPHYe3mOYy/gWSDP5dNiQV7UZUJI/ue6BFH8xv5Kjjo/YKLz6+O9plIfmZL/F4POb07+2+/bv93Ct3+bbd9+U52/o4YOSvJbk0pm5K8zuxyXqBdiZ9b/PNBP3o/wHM9xOMnAYnfz4sVjfXjAtvB85B8GDN9bEv58d8k+vyudXyO/s5kHYKrzAzeq89v37a9TMJ0fMHmfH3De5wfMh3wA6fabZH6QH+4+6SrzkyP5G0DyS+odxd6+7my9BUs8W36e4+p0AA65CgDqB+2uPkEgV6QQ/9pbfdH86r5yuOO3KvR9fr3bjwBgYuZhe59/oEudv84N7/P3uc59/m4m+/yAA/lV6Z/JLXDvF6nPQP7G/8CLyGPLsH+4rx1f/1+BFC/P8RwXJxqYAlwCyArFS/tQ70+LkfZWH/z5o2jIHvWxlHq4A53+djb2+VtZ6PzNb7LOb/TtByx8+58rDN9+wNq333SfXyDdfqADAPLj3l+FNPKTkvqaAI2BOp8mUpj9Hf9ennu/59g59YB/u2giiSyY0T6A+22OMD7UCX/+KBqxN4EnHWxYQJ2/hej8llKf/X3+wvHtB+z69ve5Ht9+a6mP8mV+JfmtSePmBp1fMv+3Fbkhuv7xXcPtTPpdAd4Dorw8x3NsPjA6ErjgapAktKQP3zMuNP9DnT9H4yWekjx6XzpPOdTSaOZhf59/n+U+v33f/l03z7f/icLw7ZfxXjOdP4uM5G+3Nh2lf4p+55fMD/IrZIyKldLfRgBYC9T0ZH/PuV4n4RyXbwv+P3tnHlxllabx72ZfzAZZCNlutrsl9yZACEQSsgEJEBYFQVGQpVEYtFmk1FGsRsvR6bbssq3WHnV6enqrtkenlekZLFsghABijKBEQQa1uqbLauyq6akeUUYHzjvPOXzz5ePeb7s3AVnOU/Wrq/9RFM97znfe8z7HpZCnI4nu3jVG/1Anw1t9eLK7mJ7+jxb+zQ/C+/w9ZNHqYwbmN+/zA6Pc/u0j7PObRnejAJiEeYBocvvN+/yq+THiW4dU3wB16b/51QLQ9HM3ZdelOrnr/0ewVp76S8WiReBrq39gCSkKzbo/nR54P5ebnx7CG33ioU7w2CdefAp00XN2fX7ttN+gz28/z++8z3+ct/lGt88f8VDnoH2fX2/+yAO/eibM/yZP96kNM7+XOvd6WOvOKhrfk0WuBNurvv8DngFpipRUjMNCr9htMce442n1yznc/BymvtLLgZEbeYpPlPP82t3+6HL7T1wmuf0wvEV0NzM3v1j5GcyPq75Bmr3Pd6H5QfsuD/NtLaDEHNu7/udAH6hWpKRGoE7wqV2gxKRbUun+oTxSX+klzgMnC+g7J0th9pnc/I7n+U3CPKLP7QcXI7f/zqhy+4FBbj8wMj/xE/8F2PrP6Q/ozS/o6PVQw49KWVYw1Ums9ymwQJGSGqEywKPga6sCkJzpomU/ydLe5+fmV1/pxTNdIWd9fqD1+Z3P849Obj+w7fPbz/M7yu03NT9YKK761sL83gvM3wladlRRYXcmw77MSQF4HCQqUlKjoMlgEDArShsT2X1DeewB3Rv995/g/12MbX2LzO3n6Ob5tT6/2uvn5sfWH/1+n9bn5/Dv/o5eL/NuLmDxaXFOev79oESRkhrFtuA94DRgFnMC1PN4pu59foF4pXf7SR+f5Y89tx8Y5fZvN8vtPx5Nn78pqtx+rP6x5vZrfX5w4covvvvrEOnlZ2Erv2Dqz8ptYr01PpXv+EtdDBWBl+yeFsutimdrd449b3ygPtGNl3qL8SnQQE9F5PbD+JyIef5O63l+8B1Huf3TYnqfH5hFd7OwSz6m7/MbnvZjtTfY9ot+/5z+GoL5md78HaD1NQ/lTExzctX3DLhHnvpLXcw5gd8DMgNtQdZwexptPpIf8T7/g/9eBZO3jji33yTMI7rc/qFRyO0fdJ7br+/zR5qf9/uD+O73kdjy/7/593qp7XceKl+TS3EptrHeX4MXQbkiJXWRlAZeAF9ZHULloC246EfZeIm3QDP/VvFGfxGe657A+EOdptHddrn9zuf5R5jbDyxy+7HyxzLPL/r84eaftz+Efr9frPqiAKjmb9/jpboniim1ONHupt85MAS6FCmpi6x6cNKqAPA5gdobUmh9Xx43v2DrcbzPD+770M0e+2ga/94HUeT2g0uV228e5qHN89vm9pu3+rSLPqr562g23/r3DV/0gflRAHw0Bd/9uc2Y8U+wver7n2Cr3PpLXQrFgwft2lApWS6a+0QWjCdWf2H+LZxjhWzbiRr63scdl01uP4gqt980zONtZ31+1fw0H8ztD+K73zd84LfXy7j5p/9bNZWvziWc+ttd9T0LfgPyFCmpS6Sx4Khd6mxJYxKt3Z2nmZ+zGQVgy7EievSjpqhy+7eb9fmPR9Pnb4oqtx+MNLdfcCPQ9/mF+UEPtv6z1K2/7rufqVt/7UUfmwJwSr7oI3Wp5QLzwOeAWdG8KYNtOjqOwfiCTZwPCtnW4+Xs8Y/bo5rnf8honh93++8zmeffHNU8/2Sz3H7n8/yHzOf5ufFV87P5+3HZp78O/f6A6PGLVV+lHf3+Kb+sYBmBVCf9/i/BrYqU1De0C3jOoC3Iwm8IrtiRS5ux+m86Np64+Tfi99sfjKdtJyZeGbn9gzHk9gOj035ufv7dP2df7XCrT/3mbwetu7ys6MZsJzf9zoIfg3RFSuob2gV0gBN2w0LeuSkw4PkCsBEFgJsf4HOgHNv8ada5/fbz/KOd22/f57fL7Y+45KOZn3pQAPDdj2APX4T520Dw8WLmSnR01XcAhBQpqW9QWeBRcNqqAKRku2j+M2NIrPxqAbib834x3Xe8BsZvjZjnjz233/59foswD63Pbz7Sa5/bb2b+eWBuf4hv/bVLPnrzT/5pOWUEUpzEev8eLJfhnlKXS1vwgEUBEMEhpU3JtHp3PsH87Lz5i+gusPF9Nz344eRLk9sPnOf2A8t5fvs+v+60XzU/v+pbw8TWP8z8zTj1H78gm1yJLrsCcAY8DcYqUlKXSVtwA/iT5bQg2oLT78+iu4ZQAFTzb+AMFdGWD3wwfLN1bv/xaPr8TVHl9oPRye0HMD4zM//sfUH0+33DF31U87fi1N+7dZx4z88ukh0ckKf+UpebssEr4KzVP+D8mkRa/PNctmFovDD/X8H864eKUQRK6d5j9dz8I5vnB07m+e+Icp5/Wdg8v0WYh2jzgbBtPz/0C+G7P0Adap9fb/76H5RShjdFM7nN1n+hIiV1GaoDnLIqAPw9gdCt6WzN/kKYf7gArDtaTHcPVWKVnzqc23/8G8jtH7TK7Xc+z29k/q6+GuqE4XkBEObn9Ppo6ktVVNCVxf9u7ArAWbBdkZK6jPUsYFZkFMaznmfHovdexNYfLWLrVO58r4Rt+SCIHn8zaLmE8/xmfX4wYDXPX284z6/1+QEO/ATY+rMZe31an79NpeV1L6va5HjG/4CM9Za63OWzmxYErGJmKq3cW0jr1NX/TpX1R91Y5RtHJbffJLrbuM8PDHP7gVluv0Wrj6krv7b6z+zzDx/4CfNj6w8mPuemlPGJTmK9PwMzFCmpy1wJ4G67ApCA0daOx3JgyiLN/He8V0JrwV1HvSPP7Rdbf6e5/SDK3P7FZuYHfOXXzA+w9R82v1oAuPmbX/PS2GnXObnqewbcC1IUKakrQKXgVZvDLMosjqc1h8brzS/41rslMPgk8z7/kH2fP9L8kx3m9mvz/Na5/fg1b/WFmGp+tPyC+O7368zPD/18bPpuH1Wsz+ctP7sCcA68LGf8pa60KPFF4DO7YaG6VRn0rXeKzxsfwPy05t0StOkqYfipI5rnN43uHjSf51+mzfM7y+03Oe1nc0TLL4SHO3Hqr5ofq74A5mehJ0soKTfB7qYfA0OgXZGSusKUD34IzlgVgPRxcTTvJ/k684MjJWzNu2W04WiQf+/HPs8fS26/83l+I/OrBaAOh351NJNv/fUrP5je66eGn1WwnMZ0Qpm0KwB/Ahvl1l/qSlUbGLIqALz1VdmdRsv7irj5QSmtRgFYdaQUxq3EKt8QU59frP4XMbcfq7+x+QHMz7r6gjC/P8L81//WQyXLxrL41Di7q75fgV+IQioldYUqHTwG/tvqkCstL45a/2bMefODVSgAK4/w3zJa914AW/4pFrn9YDRy+0HsfX7N/ILuvhDrDDc/aMF3f82jmPEvTHRy1/8kmKRISV3hKgFvA2aGK05hxc0pbNGrhUyY/zCnlN0OVh0ux4l+vUmfH8SQ27/CLLd/wFluP9J7I/r8/Ltf3fqj31/DYHzgZTjwE0wHk39RybIb0hlmKJ30/FfKWG+pq0U3gy+s+tzxyQo1bMqmFYdK6Lz5y4izAqw54kFrcLJxnx8Yvs9/pME+t1+L7raY5we2fX6V89/9tSTMr6386tb/Xz1UuDCblDjbWO9z4O9BgiIldRXpNbu3BXM8STTnH8fBrCgAqvmXv8Nxw9whwsofNs8fe26/7sDPMrff6LSfr/xhxhfM6gui3efnxmdAGH/6Hj+1AP/DReRKsov1FhyWj3lKXY1qBKfsDOBbmkG39JUw1fx0m8BNK96pgtknGc/zm+T2m7b6BqKc59fMH9Hn18zf1RdCvz+g9fn15m/4ZSWllSeTXQEEfwTL5Ht+UlejUsF37QpAcnYcdTyVx5YfHjb/rZxBN606HDDM7b/DLLcfjDS33/i0P8T05u+G+fHdP3zgxwuAav6mHR4qmJPFt/52BeA0eELe9Ze62oNDBuzetsufkMxuOVB6gfmXDfLfCph9ok1uv/08v/PcfrM+/3AB6AYz+dYfK36rrgBw83OqtoyjhMx4J3f9e0GtIiV1FSsFfFtrC5qPDLPrH8nVm19wy2A5LR/0ijafzvwgytz+gfA+PzDN7Q8zv+6iTzeYpW79W3W9/ha1ANQ96yYk+5Lisr3r/wdwG4hXpKSugbbgr2weGGXXFSXQgh1FqvEBzH/z25wKmDyozfNHnvaHzfMbnfYfEu0+yz6/mflnqxd9hs1fQ+EHfs246tv4UjXld2Wp5rcsAKfBI7LlJ3WtPTD6CWBmxCW5mOfmTLZkfxny99zsZrB0wM2WDJTj/z1s9eGJseX2A8PcfhCR2w/CevwCHPixWWBGXy1O+/28xy9o4cD8TTu9zL0un+ExTyf9/tdBtiIldY0lCf8dOGN1Fz6jJIHani4QK/9SlSUDFRx222ANTvsnha38hn1+5/P8B837/NqBH+DmP//dH9Cv/ILmXX4KPlXGUsuSnMR6fwamK1JS16AmgA8BMzGImBMonZVO835bopq/nG5CAbjprXLsBqph9nrtks9o5/abml+Ee4RYB9/6h5sfTHnVQ2OmZTi56vsV+Gu59Ze6lpOEHwJnrb6Rk3PiaMrDeXTTm2L1FwVgMQrA4rcqYGw/TD+RbjfK7RcHfrHn9qvmBxHmx3d/LTMy/7Tdfipdmeck1puBF8F4RUrqGlYmOGaXiFMwJZVmv1yimr+CFr1VwQB+q+jWgRAvAg5z+4F9bj8IMRPzo98fRL8/gIs+keYP4dQ/cUyC9ue34CSYIVd/KSk8MAq+sOuT+9dk0w373Nz8uJ9fwW58q5JuOFSJ73gPTD/B8H1+0+jug7wA1FnP8xuZH7T31vCVn11o/gBNxql/RjDVyVXf/wJ3ybv+UlLDu4Afg7OWT4uNjafOnxYRjC8KADc/ZyFYMlATQ26/9Tx/5Mofwnx/rdbn15t/yg4vFS0dS3GpcXYF4Ax4Xr7jLyU1rDjQBk4ASwOV4EBw4f5yGB8FQDX/gjcrYepqbPfrR2OeH+YXsLCVH+YP4tAvIFZ93upTzU9Nr/vJs62Ikscl2t30OwcGQaMiJSUVsQt4GHwJmBnxyS7W9OQ4bN8rcFOvki1QmX+wCiGdfvT5nc7z1xnN80f0+WcCrPysE7T11vBVnwnz7/azaeD6XX5W/w+OZ/w/B2vlbT8pKfO2YL/dN3TupBSa+4YbxuerfxXNB4KD1VjtQ7Hl9gvC+/xY+Tl7+Xc/tv4XHvgxvvo3vuqlwsVjCJeWnNz1fx5kKFJSUoZKAPeAP1sVgIT0OApsGItVv1Iz/7wDVdRzoJoWHPSjCNRruf0W0d3MxPxan181P9/6h5uf+Mrf9IafvA8XE277Ocn1/wgUKlJSUrafAv8M/heQGVnVSazl+SKahyIgzA/mogD07OdFoEbr85tHd+vbfEatPrHtp87eIGb7A9SsO/C7HvACMOnX1ZRckGhz00/wFzBftvykpJypHfwBkBlxiQpz35hJXTvLqUdd/efC/HNAz34vDB/S+vxmuf0W5ieYn3Hz47ufWsLNDxp3eFn+7CwnV32/AE+AHEVKSsqREsEzwNJgaUWJ1PC3hTR3X5Vm/tmcfg+MXsNgfIt5/jpmaH6grvxMfPcbmH8qTv0rNo5jcfax3mfBTuBXpKSkopIbfGJpsDiFCjuuo47fuHXmr6bufg9+vWz+gaBln9/U/KADBYBv/dVvfs38TbsCVPt0OaVXpTi56vsxWCIv/EhJxaZ77bbY8akuqttWQN17qzTzc7r2VeMmn5/mGeb2G/X5wbD5qW1PjdrnBzrzN7zkobzZ2U7u+p8G35en/lJSsasE7AHMioyKJNbxLxWsu7+adcP4XWCWwIPv/Nrzff599n1+vu3vAG29tej1B7Q+P6cJTHnNz8rWF/Ctv12//xzolbf9pKRGJhfoAqfs2mzupdlI5a2mrn4PVnXQ52Ez93mxuvsIxjec54/Y9ot+fxCHfjUkzK9b+af+zk/+75ZSSmGik7v+n4KJipSU1IiVB54BX1sVgMTMOJr6QqkwP4DxPejjewnA7AGj036s/JHmn87Nr7b5VPMLJr5YTWNaMpzEen8JHlSkpKRGTW3gqEUBEJHbBe04ENxZRXzln6EWgE6BD0WgVuT26/v84eZvhfn1fX5hfjD1jQCVrMzn4SROCsA/gTGKlJTUqCkNPAL+YmXApJx4qt1WSDA+8DBhfoDnuQXI7Rfx3eq2n4Wv/M26Vl+TWgCmgsCTZU5jvYdAM3ApUlJSo6pqMGhpQOwCsutTqfGFMhgcBUA1f7vufX5k+ImR3o7eWtHnb9tTq37zB/Sn/cDPuPknYOufWZ/m5Krv52AzSFWkpKRGXS5wO/iziQG1IjB+XhY1v1KJE33vBeZvFfhJDfHU5vkjzS+2/azhFR/l9+SQK8n2rv9Z8IJ8x1/q/9q7f9cmwjiO488d4Vpaq1doKmJTJRYPEewkJYoIFQcFqyCIix3s0D9EBUHdHLoVXApV7NBSB9100M2poz/BwQ4KDqGQPF/fHEFoUu6GmmsKnze8pnDj803C3T2P6m79eJE5ABCUnI3djP255ydY+Em68Dv37T/l/z3h17n4+eY/6UevDVvYF+Q96tvEO53jr1RxrwxvwmdhCPijDIGppWrrbH7gAtre50/VWrjd5ycXJ/zhmeH8+/3AJuacUqqwnYQfYAuWwTMErDw9ZGeejNv5V0n7Bp6+/Zt/ap2dfe5VLK4dsCDK39UXDSzgkFNKFVYVa8h/Gy9wNnA8siMzsZ1+WLHaamIs/m33+c+uJJbcr6T/9/vHom3XZ/D4gGNOKVX4r4DL2MgdAC08u29RuWSD1T4rXzrIcd2xH70aGwd4pOf2RyMlC0qd12f4hotOKbUnhZjF96yThXYUpjw6D+7Mv97jJ2YROaXUnu4bMI/P8LkLePefN/EFd3W/X6neGgKfujwAGtjAPAadUqqnhsAtvO/SAPB4i+ta/Er1ZiFqeIY/8P9JHU8xqf38lertQozgDj6isYtfAFt4gxt6u0+p/VWAIVzBGn7gN+po7jAAmqjjF75iGdMY0Jt9Su3vAkxgDo+xgtdtXuIRbmPcKaWUUkoppZRSSilVUH8By7bZ6w6NPYMAAAAASUVORK5CYII=";
    private static final String JPG = "data:image/jpeg;base64,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";
    private static final String GIF = "data:image/gif;base64,R0lGODlhkAGQAfcAACEhISEhKSEpKSkhISkhKSkpIS0lJTEpISEhMSojMyEhQiklPSEhSiEhUikpQik1RjUlJTExKTslJz0tKTcrLzkqNjExOTY3QEgtLUc3NkQ2QkRBSVM4M1NBRFtEQGhMRyEhXiEhayElay0qbCEheyopgiEhmC8ulE9JWWtXVVpSeGprg4NqZ418d4mEkZ+RkCEhrSEhwSEprS4ysiEpxiEh0iUzyCMv1iM50CVLzyND3yVW5jhRzjZh61llyoqVyTtg80Jj9zlw9EJt8Upk8kdz9FJr81Rz8Up79lJ791KE81J7/1p591qE81WK+FqE/2V88meE+2eM72iJ+V6R+WOU/2uQ92eY+XON9muc92+c+3Oc/4CQ9IGc9XOl94Sh+XOl/3ul/3ut/4Sl/4St94St/4yp+4S1/5Sl95Sl/4yt/4y1+5St75St95Sx+6Cw9Yy9/5S1/5S9/6C986W995y1/5y9/6W1/6W9/6XG95TG/5zG/6XG/5zO/6XO/6Xe96+SiK2Zka2llLKcorWnmbKnpbuuocivoq2lrbCpsLWtta2vwLmxsbWtwb2xscWzr7W7ucO9r7m3w8a1vbK3zrnBzr3Gysa9xsrCs8vGw9PIvdrMwcbKzs7KztPTzt7WxrWx2rG167W91rq+4bXO1sDI1r3K2r3G5sXQ2s7W1sHO68jW4s7W3s7W587e59bO1t7Ozt7aztba1tjW3t7e1tbe3tbi597e4ufY0+Tk4efe5+fn5+/h2+fv5+/r5/fv5665+rHG963G/7XG/63O/7XO/63W/7XW/73I+b3O/73W973W/8bO987W98bW/87W/7Xe/73e/73n/87e88be/87e/8bn/8bv/87n/87v/9be79be99be/9bn79bn99bn/97e797n7+fn797n997v7+fv797n/+fn+97v9+fv99bv/97v/97399b3/973/97//+fv/+f39+f3/+f//+/n7+/v7+/v9+/v/+/37+/39+/3/+fv7/f37/f37yH5BAEAAH8ALAAAAACQAZABAAj+AP8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1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";

    private static final String[] BASE64_STRING_IMAGES = new String[] { PNG, JPG, GIF };

    /**
     * Decode string to image
     *
     * @param imageString The string to decode
     * @return decoded image
     */
    public static BufferedImage decodeToImage(String imageString) throws IOException {
        BufferedImage image = null;
        byte[] imageByte;
        BASE64Decoder decoder = new BASE64Decoder();
        imageByte = decoder.decodeBuffer(imageString);
        ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
        image = ImageIO.read(bis);
        bis.close();
        return image;
    }

    /**
     * Encode image to string
     *
     * @param imageFile The image to encode
     * @param type jpeg, bmp, gif, png
     * @return encoded string
     */
    public static String encodeToString(File imageFile, String type) throws IOException {
        String imageString = null;
        ByteArrayOutputStream bos = new ByteArrayOutputStream();

        BufferedImage image = ImageIO.read(imageFile);
        ImageIO.write(image, type, bos);
        byte[] imageBytes = bos.toByteArray();

        BASE64Encoder encoder = new BASE64Encoder();
        imageString = encoder.encode(imageBytes);

        bos.close();
        return imageString;
    }

    /**
     * To make base64 string decoded properly, We need to remove the base64 header from a base64 string. 
     *
     * @param base64 The Base64 string of an image.
     * @return Base64 string without header.
     */
    public static String removeBase64Header(String base64) {
        if(base64 == null) return  null;
        return base64.trim().replaceFirst("data[:]image[/]([a-z])+;base64,", "");
    }

    /**
     * Get the image type.
     *
     * @param base64 The base64 string of an image.
     * @return jpg, png, gif
     */
    public static String getImageType(String base64) {
        String[] header = base64.split("[;]");
        if(header == null || header.length == 0) return null;
        return header[0].split("[/]")[1];
    }

    public static void main (String args[]) throws IOException {

        for(String base64 : BASE64_STRING_IMAGES) {

            // convert base64 string to image
            String imageString = removeBase64Header(base64);
            String imageType = getImageType(base64);
            BufferedImage image = decodeToImage(imageString);
            File imageFile = File.createTempFile("image", "." + imageType);
            ImageIO.write(image, imageType, imageFile);


            // convert image to base64 string
            String newImageString = encodeToString(imageFile, imageType);
            System.out.println("Image Type -> " + imageType);
            System.out.println(newImageString);
            System.out.println();
            System.out.println();
        }
    }

}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值