C语言的本质(14)——不完全类型和复杂声明
ISO 将 C 的类型分为三个不同的集合: 函数、对象和不完全类型三大类。函数类型很明显;对象类型包含其他一切,除非不知道对象的大小。该标准使用术语“对象类型”指定指派的对象必须具有已知大小,注意,除 void 之外的不完全类型也称为对象。
对象类型又分为标量类型和非标量类型。枚举类型、字符型和各种整数的表示形式都被称作标量类型。当在C表达式中使用标量类型的值时,编译器就会自动将这些标识符转换为整数保存。这种机制的作用是,在这些标量类型上执行的操作与整型上执行的操作完全一样。指针类型属于标量类型,因此也可以做逻辑与、或、非运算的操作数和if、for、while的控制表达式,NULL指针表示假,非NULL指针表示真。
下图是C语言所有的数据类型:
aaarticlea/png;base64,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m9HfIhbDnkT417zNYY1N/j80PztYHiqXvftwB103PHjNgS2FypNc4LseNyczbxp7DF7XWR+wP2Fv/vflz5Q92q8XgfKkHOPJPOjmGh5PdqfgnNvgNobACdgMWhvonNwtlp6NXuHdQt9r6VBUPM0BRc2cej2mvZeYaEAi9xSgqKPP4n4pPq1PG2JTevqosKG/9Sc+B0Q/0e7HAvz3mrtDrziajxgVPweJHxfcB2vRl3dyPR33yV4zVuz7Fe284ck36+TCOw++a/y/5IN8oRuYazFDF7do6TH/8mbu+cYP/LYiYP066ORs64c+b662tTx9fOonu5ZuJraACRawKfZCNHnSceDLEXB4Kda3gtat9YCtmWvCejBWhCfPW203t9W/irJcFYfmPjf5KrP2i1+4cbrpXePY+ENwryf7tWwHXoe0IsUOew44NyBwh/xDbB28nysCcke+2M9y1h7QL9dmNI4nu1M0BAh0wG2d04fgCVxFJPotscKk0Hh1c4vCckvf3rouh2aF8j5fO9g6HHqyWwv8fTpeayyfp335uOaqcTRzKl/XA37qmO3is+JbxCcfivk86OwtwF/zdHmyY/fWN0Vzvkf740RAzsgxbzpWKPeiH4fdKRIVB4fN3ODaFZACdms8Dzj2QMVs+nJru29RX4X92nnP2JkPeetV/GC6HIgV22y0EfC8dZh5OedsLvrm3PzMpZxt/pfmh794zPhccyNxSbf484OuFdDZXoGMa29s5b1V/5wvt9J/6HneCLQX7Ie5X+TRXf/UOV5j3rMOAqWQuAudBYVIheEe8bshxaTNC9MLhL9Ck/7usBtHd+eC10V+bs7afbmvD7I3X2u13Ownl93effeLSXR85p7uTfHpI5/py7/0hfHWzkZze0jssnkJN6die4n/I4zvrWfzsv7GrcG5mEz55OI3Vg41duAjAu81At+9rXqvM3kmv234flABK9LAdwp7d6vn3PC9hcLhUnjordA4TOil38HkYFNwKjo9opOraCXLHp388SrUH2PVn+PTT/R04GODXX+t3J/B6o+4eueNPg86NACjO7jo4l+HOX309qMUbUCXwzTefNgGn/jhIAViyF66W6snqn/T4ubafIs1h8sf690TWjkx42Ldkm+i+sUy2oGPCLz3CByvMa9YQZtfoVAAFI6eUnq6uaSip5mKCl2KUcWnwyj98dM72/rZ1gZ0pLcfAvSrvehfcX7z2YGUbD8G8Bfj/bX1fjn3jcRX/5Gk71Pi7buX1R9986nwrrb6G5fZnjae0p5Pr63XU/S9R9liGjaH+URuTYxZk0Cs9OVyNyJuZMDUE/+Bjwi81wgch92FlbPhbX5PM56cKt4XxO6G47+vADsg2OkJLuEO0w6fDgrj9Bl3sMD62tlhN9/x4+kAcqj2ZAajVxQ7MOch20GyjmVLbByEDsD+UbAxPsQDd1Dyh2+ufEJ7LPiDtv7jTH74Q7/sFhf4I4MYFutzsZRf1lz+AnzkxKlcWGM0138dO/pHBN5jBI7D7opVU0wUhYqJIqGNdqmYVvArMNOcMUVn1dHhgnctOvjPFShj7HQIZqtiCIMOtsbJGesp7Zp5kSXTa9epa/qX7sbn3KI9BRef+T2jV6bFAv7osMa4PiwXxAOs61pOlqN4e6rDf+u1ovOAIwKvFYHjO7srI68wAMV170A5p6bC07iCEjjkFJcODUUH9M8QKjbGjTmk2Fa80DxJ0Y8O52M66coe/q7u8PXJJOfJki5+eVoCxpLzZAb4hQb8w2BthXT1zwHUmLiZQ3OLvil5wkc+92QpNp7w8u8Jqt+l6Mw3MRCP8mreVKHJDfzoeBu3btazf/T9LgNxOH1EYInA8WS3BGSva+Mrqp58FP/ugHsS2pNZaYqJwgIUGnoqTI3NO280F97Gp+ykbUq//tijo4HsT57aYYfRL3/5y+3HKmjm2N2+GDi0gmTqTzzHmheaA7EDMn+m3EPb6Q73qlSf37ew8VCfXpK/HFrxOR+sn0Otg23ylZPlHF5rfsARgY8QgU//vx5cs4gVUkUAKKLXFoIOtuwkp/BPwFcB6qBgF10h64DtSQutAkePcXfx9NfvCc8Y3dlGn4dB9sLk84/OFditMDbWPJtHftPD9tTNNh3JpOMxmN5i42D2Vzdar8foe28yxfU+3JzEfD28yqFyDW9ra30OOCLwUSJwHHZXrKRirZDCFQDta0DhmDALP136Co5rhWnDAbWCAgfoabzDCU4nPYqZQldRXHXp85WufM4vOBq+7GqDqTO+yZMfHUr6U+YrLY/7zB7p5j5pj9P6vqSK9TncbBqvH7YecqS1h4E4GtM/J5uOnqhb4+jhdLf26OltD8R74CMCD42A+iZf9/Ls7ib/oUo/I7+N7vJrxO9973t3v/q7JhbzKWNu9Fk8tI35Lmx+n0a/hVJAPLGsMsYVGTK+p5r6Zzv9yYfJ1w4rPOY55fEBfkio1ZYEM9Zhgzd95uSQnXEwTv+5wmj8gJeJQOvE2rxJsKau6NZLH/9cy9ZQfspF/zt13+l2iJHxi2K/mNXuEDVOV3o3Y6ePvdxr7D6cX3vye7Spiw9z/nPsIe1zdh6q/6H81/hYfM7x5nv4HN9boss59UXtEbMVyi/04zu7NTr39G1Uh09PTfrXAl5JNOFS8k3e2V43wkzOxh7yfWIFa9qY7ak/+n2+50O8E98nN/ke0l7t5e9ezB+i97PxFrew+fuOtRuwDinxDsRYX9Hxzz7wOMTsE0BXh8iUJyPvFCptMhPKE/L503rCID/o1caXnnIavXFtb0Dwaa+86ADOZ+36ZNhuzs2ncXj6WJ9ONwC+qw6jtUf7JXE+R18xGTxs8L0YNUf2pk38eONrLdObnHF85kM/7DIOmie+4lfbeHa1wYyBdnbiQwtmO9otsTiZrzkch92VkW1x9xbsGhUlAHkwk0AfXVLMJJ5JiEd/Hd/r4wV0lkxtpK9Gvtloky/98cyxaHOzRgv3uiC7c+Nkf9qIlvxjsbiZZ3PNvr72AecjUKwqSHucioV12zv0FND5vxNUGPshUvrQ6bAmFd1sx7P2ox/4iMC5CMip7SAbByhaoD665PBx2BWVC9gG9fN2xb5HZkG+BBWRc4W38alnj2bcIlq4WRSiTfnnaHcwnfPtGpvJ3tpnesXXBYrPuZhf4+tn4ilezbk+bN17Pb2um/yXj55M4kGr+Hjaqw+Tb43YKh+yex9+CO99eh4zVjwuycZ3K19vpWf1Oz9X+nvu3xerDrvL1fo9R+CGvrurlSQ2dY/F16ifmxu/RQnWpNMHCsMKxtaDDs/Ur7gEk46m0ACHNcjW1vn6Y/oWv2IH+gFMvkU3Jh4T9nQXMzbMY8pP2ce21/k+Vs9nl7N2xRLuxk5crFtgHa2hdV3/KYncMebm8D4ol87lDz3lYTnFrkvfpQ3iS1c8K8YbTzLhclI/uWkDbeVdx+lHA+nR7rDXZgdPfMa08eebm2t0NgGcf/k2MR7y6V3HyFq//J98ZLPb+Co/6bXh9ETLx/rG6QKTP/3JPxZvik8f5ZJ+9rTzQ/u7VRX1gO9EoO8gBE8BmEH8DvMgVDgi7fVbaGMOLP0VjKHDFrMFtcgdYF4n5Sf5Eq9El9B9bzD9SN/UVWFzyJWkU2eHH9nu6vM5H+ubE57u9P3AhXz+xXfgl49AObWXc3kzC4n8kg9o0csfuUXP97///S1P5Zs8Sjfcle72k1wwRpf8KWeTLx+NsRtfPoTLS/146a1fvqKturOB15UNdP6gaZsXO42zQx8M6uMlE9Qmi8dl/unBb5/Q5eYaPZls06XdWLKtST5MOb4XF/J4kouvPcyHePAZt+bRjWkXv3gbz0797Jzzj56nXnygHxQXazR9NHa8xhSFC2CxfZGuSPtFmb9con8NCLikcWm3GGRb5MZLyjYTOn6wJnhJmozFxo8OT5g20fNp8mj3Rbk2mRJ01TnHSmoygIzL5uEbX/D0PU3f+YW/knra57n5sW2uB9wfgfLhHE668foTy5EZ6xl76yMH5IW95FCcsOqtj58ceUU0/ejsZVOedUjQO/t4y0Hy+ZKu+vNgZrNx8tpo2UsGPV/iSQ5PMPWhNTbpaGT56tJf53xpHsbTkR9ofOyHQPlUXNjIHzGwNvUnr/iiN19jbKzy9eOfOopffhrTfgrwgU/szlootoG2uR2HXRE5g0ueAtlCRT8jdkeWIBY5uYo+hmt13Ck707CQJRdbIHuJOKj9LFyxwbvylHSNT3lt84inxFp1ZCt8q/mlbw+zYf5tZvPv5mTOYU/2oN0mAhWxc9rKl4poeXRtftBfcWbD61H5TE+27U9FbfLONrnZr02G7t54eDvips/4KsN/c+G3drLNpz1if23FdRRy+viY3k351x/5kp7sTv7Jo50PeFc/vlb7rfrCN36pP3Cxh+0dfx5QfYiP/+yYr/gUX7Ya07bX4PxojE62AD2vCXc+v6YT78m2RQ/WRI5+CXua6bs/vBLtqVBy0iWp2nBTt83b/wYgCYGNFc/EHYR45jzpJuOS/F5JGicbHQY2hqv+RnymDz6Yk9i2qeZGeyazh9qvIyDm5c+5oMjJoPYlmfjTP/NP7imyaOWagqYN6DYmT+UHSE9tY2TCdOrLI7icnn5W+NHIsYc/neSyi8bHxvAb6wCYfhkrLiv/tD/H0Ok4t8fWMfuaP+1vcnTAeL165of61F7Sb67mFqDXF5NiZQ5suBHJVrEkI15znq1Xep8bv+6R+9yzu4H+kmkukqS9Fiavu0cHTzrn2LX6Vr50SCZQX7tkdifsP07NLmyszRidzExAG6PDGb9NAbvcAfc6Khp5cbIB5s0B+nNBB918/SIW/D7g+SNgvVv/PWwtXOVYRbL+JQ9b11V3uUcPnfyQC3J07gE0ffJ4sqtfjsbjv6dyGK22kpm+otErz2BzdGCiZ4feCej2YrbnXps+F6P0pH/6Ye/md/GFAWzvisWE5IvXHNMWD/+NGCwO+JpPvOabf7MeFDPj/k9MvvMD5j899DZPB2rxT/dz4+ur9nN78ob1t4HcsVjomaQPcbtkf4jMJV5J5gCVOBJIgqFJLonVuP+FPGgT2Cw2TZsAtklgcsb8D+b65t0YGxUFY13iwqaDFc9LAD9n4WOzzfgS9g8b30RAfq9QcYtuvYLZjrbi3/72t9t6urkqz3rNSJ5+eS839b3BULCBMTL+egtcH58caV/3JPPzn//87i8VZcsBli5y9lm6yPv+vnG28wkmi8deYM/lrxOh05PP/JLD/ATmFz9b5M0JLf1kydWH8bKHj194AHt06MdjrbSBMW2vMh1WdHSoGdM2Tl6MAB/TZ8yFxtY8KPlIH3vdXNNpvvU3hS/wcXxndyHIJZHk8U7bgpbUF0S3YYs8N5mFlyTRr9FxDY/EmXeSq34JWNKak4SzKYBERXsoTB0OOhu4+dG1+vBQ/dfyZzt/wo+d17V2D77rI2APWBdrErRO9e/DDqRuauKb8oqsA7H/4Ng+ve+fPsSfrnDy9R+C07mX9/aXPchHUM6mv32z0huHp97qEnp7u/HiEsaTb9rxaQdqAR/Yr45EE0u17z7f0rPi6YOx/L60Pquep/Sbx/FkdyGKFUyLDUrWC2J3wzb5BAcdWOmT5yFtySN5e0ojK5HSr0hIUk92FZruEvGidQjq0wU8xUrU+hvx6w/60Dss+eCgo9f8bD6QD1+LPQviB9tzU/HngJeLwEPibZ2C8rH+Hk73POjkNHr552nJvvQWwt+u1XfQyVOgiINsuzHETw8I//rXv97k7R8Qf+PpKb/nk4kxOufeo4Of/DBX4956oMnZxtmxb+hD7wlvY/hahzy3n/KBPjSX/cuGcVhc+Aw3B7aLRzHVZ48utP/4j//Y6ogbe7J0w2JpznjFGBQDPOkrTsUPH/l42csWnc0F30vA8WT3wChbIAdLC3xJHJ8FdgHJUVsiSoanQnpKXjbWg8Ymc+D95je/+eKHP/zhloA2yQr5O+n0o7dBG8vengyexuN/LtxTd3Fgp031XDYPvV9FwNp3VSDl3pqDaNYHvZxfec7F1J6znnv5R5excsCrOP88SMFVUGdO0LP3VkWRdpjmT29JyNLdXlK07Zn0rP7OfZAuPPH31BhfGM9s6wO04pWP4XTiyy9t0L7D02FWPMLFJVzcwl9pOv/JhrgUmzVWJPnviidtaEBsXwLkiFgch90V0S5xLZIFcrVgV4hvLG2gKZu+a3Xs8ZWsJXi+1idTuw0SXvXNVx3Tt2yku7ngcUnmxpLL5mrj1v3s5RP9xfilfLj1nN6bvvKjtSgXopuPHNF3dWjFf2m+6YHLtQ5Msqu9Pb0zP6a9dHeItAdW/mzs7Z3yjF0XXnOcfiSfnfrZz6dkwujpTyYf6k/eqUfbXshGh2I+xBtObzHIbvLxRddvbPVB32W95tj0ufH0Phc+DrsHRLYFJdJCSyILB18DLTLeivFMgmt0HDzfFLYZiwqTzdr3DWIbFPs2c3GPHt+Bny8CFT0WxD2sELWnNuLXH63RpB3tzxeB+/Jg3b8rr9wq19Tw48nuQv6sASzAHVgXxLfheUflNYqN3yFJ/zkwViHILl70+nQp9u4ktaPjI+taX1ei4X0PkJ+SFcw7eneg5i2m4ukyf+Bg6+6aju5WOxiL68Z8fDxbBFoP8e5GxHrMvMfTfpj5y6nkn83BQ/GbjkD7/5yT9jOe+Rq6nDGmXhjfcuyUdOer7TkLn4y+99hvc9rAs/g+NCwKuII8wcGIZnEU8adChaVlpvdSAj3V5i3lexpLpx8f+PdQ4t+X7njE0mVu1qR2RZR8B1xYTOZ4Ng58uwhcirF1kufl57SsWN1iD0ydR/t9RcAP5RxkHWar9/LDfnYBObPe3Ffzjie7NXpLv2JbwBpWJPc2aOPhKVeRtSDd5dKBrkB7+vBrMjIH7EdA3MTPZSM48GyEQDzdMKBPKOZzPeb40X7eCBR/h9veDSI6sK+6GetG7Xk9O7S/5QhUZ9VIbfvXw0B1udppLCjHqrfRj8OuSNyDe7JTSAtqi3CP2LeGWoBvEXc6Crh/x/cQ4IsEKCE6hN3hKDIVkofofCu8xVxMzMUNAeyXdhMccOY5Y7cebOm6di2m/qP99AgU/3AaOwjrWzc8rvXNRzwH/hwRKBfmDVJfSRgDborKoXJr7vFox2F3IWfWu4PJfs2BJ9AWZS6WfnetHZ709vPpFortNnyLrg88vk/ZjTg+pm8SoVdF6LM/RN5kU5w6yMTQK0xz6dDTNj5fXXRzsjehYrs3dtBuH4EKTXha2KPNce0K2ko/+p8jAvY/WPd0NdRYT3nROviMTTgOuxmNM+0KZMHEJvgKbIfPGdFtvAPGK7gWJjx10hF96lt5jM1CQb+DAF9jW+Prjz0fp/zkfWvt9WaD38XevAGaC6/Dbw/w4gHp1E/HnsxBu00Eyt9uSipc0Vkpdytut7F8aPmIEagem1sHW3u6+fb0V3/b66eP4wcqRWQHzw05g1zBvRQ+4+R6zTjfN6/m8FZ801t/5d3r43U5+GC+s52uPZn3QmsOe/GYtJ5azRt0EwADdAV1rus2cHw8SwTEW+wrSvXDe4ccmjW15sfh9yzL8m6Ulgtzj3N+0ntAcODJNbmlzs4ck0fv4/fnr7g0giyIQPDC/SgiWjzG28Bo5PveIXzf08dm4PRBzkVXuh2wwOKCaWcjnD4UCHJ4+NYh0fh7xcVj9d/8XGIBe3rGK+lhYKyiiY6vfvqKpbFkGvvMuLiIgQMLlI9b58KHeIN+kFU/3NpMndYm+gX1x/CVESEt44sAACAASURBVJDX5fYUiSbetY2/ldohF9rH0+9Jr56qr3irs+VYe/047GYEd9oFz+Fhw3o8LojYtSVKAZYwLc7k21F9FYk+uv2pIQesP/tlcfljERtnU9tlrMP4KiPvmMm83QSE27T64i92rm5KTHV+v6fv9ZpYilt62iDGPzMUB39mSv77XwjE0+Ek154K6YInWLt5AM6xo/3wCMhrFyiu1g9Nv1qCZg/donY93MvnlTi+s7sivha/Tb+yS5Y2fa9q+m5i5X1sXxF2wPkDsf6Txf7OZfqmDxJXUcqncLwfDTvEbEzzbDM3x9atjewGoKdjY210hbZ/v9ffDvRjoYf87xbZ/GhY7Mprfyj4z/7sz+5idYu5tn50leewNWXbOh3w+AjYF2JZTWpPFOv66/5RR9YbkMd78TYkj8PuwjqUJOfYFEzFwGE0E2RNnnPy19L7JwkVnpJ1HnQlrjH/S0OF/VobH4GvJ7h5Zyou6L1K82RnrcS0GwNxrPD2q9iPEI+nzqGcKjbdcD1V75Sfh9vcN3M/Tf6j/bAItIZJrf3o4da6/kfBx2F35UrOBChZ4J4qGrdBHXz6554GrzR5x9ZfSw9nA0N2OpTzYx6Cd4o+cMNamDMIazvQ+u+ZGlNQgTtXT3IV1Q7D+QS4MR4fWwQ8/Yplv3RrHzwlPOVtOloL/Z7IGzvw7SJgDa1f/15V3bAvPtrT3IzYcdjNaOy0OzwMVUQlRQWzDdnBl4rG6z8Vz6eN9SCr+PT0F+4p8Km237p8T7mrn9ZOcVZQV7DJHXTAWs2YFuvoq+xn7buxk2tuCuah9NR42DvWopuSuafac0+18Znl2x+ww0xMe/Nhb7g5n9BNzEfL/+Owm6t8pq1oAotfYtiQkmIvIdD26GfUXyRXWBxenjr4wz7wqhKtg61+30FdVP7OGboZESOb2FVsZqH06tLGttnxAmupAADrBYqjG4b1T45tDJ/sQyyLsViVa7d6ArAWCm/rZh3sKxc6fMDjIyCe4tgaTk3W074QY+MAti+qOZP/vbePw+4RKziLKPEOPm1FwJOBonCLAy8dkpBu/Qn6HYIrXX/1dfJ8lPa6kYvZpfnNdbPhOyQvyX32cXESY3G/VczooU++tp7XruNnX4+nzL+878bilmv6FL+eQ/bD/9MDi2nTtDkFEc0129H2MD5JcA7IzENF4gR7+lYa3nw0FqDVd9DlQ08j9R2s+PAHydX/yHjG2zznWuzN2xOemBVHPBVb7RnH1gDuEvd4Gp9yrYs1aB3CyenXjr8+XaB+48n0ZLrH05yyN3mihY1dA/kRJu/q5ku7Mfpq5ze8ZxMdr9i7YWvdbnWAXjO3yVNc93xtbPKv7eSaf+PFIR3xNf4WMB/tC28zer3/Fvy6pQ8f/rBr40gwRdGmQote+z4sSWdBXZO5TU8H3vo27316G+Mb3vjTr88uXFGAvWbw3UljbNJlzNVcb5ko71lXB4A5eM3r1Y08aE3Fq5hVmOZ8xdYaGGtN4iNnvDG26I3eusDWKT3Rp53GotFBL31wduQX/4Pyk225UY6XD/Tmz8TJ34fxk6criFbfuCvIXvENN04eTLnJg24OU2eyt8biypa8KI58aQ5iri2uYuBAAGJNjjxofdDag9vA6aO1b92qD42/Jp4x1hYD+2Ou92v6d0vbH/6ws2gWUQJLRF+ul6DXBJK85FyhZKC7zYtn0leZvX6bxGYLSkDYRWc2GnMHRha9zdPGbHPFm97PiMVHoWrNi1HrVPyLVYWu8bDYibPvQifQxwY5vBVF9CmrXR7Fm830zYMyGl65ARunA5bH7NKRvmyH6TDONn/W/vRvG9z5aB705G+05m1fAX6B7NUX42SNT1+0G08Pvf0IBv9zgtixJWY//vGPv/jFL36x+d8cFH/t3p44CAB+cuSLQ36b04zR3tzLx+ec2zW6ywF5bT79OMt31h8NPvxhV6JVICSZBIXdpUnQ+y7J0KYtMUoCOtDIg7C2sfv0NsaXX/3qV9tm8m+YgOLGbzpW2/UVBrKzcGzCpw9yFdZonxUXnwqpTWxTd3NRUVrjI/6tZzGXL/7XhcDa40uHfjQ85V4Yjc540LWtI1BAAX3WsDzt+9/GYT41N3qyUTtM/4Rz9Mkz2/xNd/SVJp6AX83Nm4f6zS9fiiu6wyRIj3mZ30vlMHt8UfD/+q//epsvv+SIMesuf7SbQ/mUrBiVU7/5zW+2KdHpMgY7SP0KmA6xQU9fMXhpzH9+y2vrItf0W4uX9uc57X3KH6jYSJLtFjALgYRuU1yr26ayqfs3dIqchHuoHnI2zksViGvn9xb4xNLm9V1EfxWlHLDBbfgJ4jjXdY7t8TfeAdWaRocbC8+xc222+LH6kn97vjR2Tmf0c7obn/gcL7p8E0u5X0zzobnuxYN+ccdjfeR8/Nk+J9f4rbG/TvSzn/3six/84AffUZ2v1qJ8mjRz9h8v28etF5qLXn9mTc1xkPRWJr7vGHsFQnPqhs5euVWNfIXp7Jr88IedRbQRQQeBJJOEHwEUhObXfCqC5viWNlT+vTSuiMIV53KBL8Vr+lV+zINQoVKUA08vfb9RTk08D4nWIlvpx58MvfGF0SqqaOT5vvrSHNMfnjr3aMbvg2SmPyt//jUPOP/25KKRk78zxs2j4rvaeq4+H/w5tB/96EfbTVH/2Jq9Ob/sozncgflYEzTzdkho25fi1+UV4Q9/+MNNP/5im87Xwv273F5hWhN5bn7m8VHgwx92FsrmA5IyHG0j3OCjjX4DVd9RUQH4zsCJ0DzMzebBa7O99F3xnm9vgVbsikfr1FPI9LEiHC3e+hMrVnTeAvbs5Et4z841xTL58J6eS7Ts0JEePkdXEMUZbUKxj2+OaSfnYJs3EfG3Zqvcc/TzxQ3MPOimn+bXnOJvzrNf28FH14yNMTbMN750PMe8LulsPu2HblIc1Nry/KPAxzm2z6yIRGqT2kTgocklIUDFLUxvkI36bM3x6CuecvkXxmtc4nUXme36fMNjTvh69fCRknSN2UP6YgLWtYhurHiXF/DaLgfi1Xfp0w0nB6PNax3L7moHPV8VQ9fUZzwa+mzzZ/b5ZJ7ZIJv/+Y12CejMJ7rSBxeXVUe2ycUfT7rqK/xo0fFrv1QONz/Ya+5iVCzFsHa8zY+vxSE588LndaV5JIOOh41k4NeE9kF1w1p8tEOu+H6Yw65EcwjMTWMz6huXdBPQ48XXQYLHggclZnfz6SlRk3PHBmbRSUc8FYf8oiM9YTL5Fa1krADUN25u+L1vj7/DMPufHbep1zhcygtxtVbktWfhmkVQ2/cceLpztxZd6C7QGk1d6ziemSNTjs/GycfjdWr5SRce/canTbrIRtO/BHi74tU/F1djbPNjhT3a1D3bq+xD+8UiudZAn39h9GqH2AB7Fk90NYFv+Q+nH10srD16cY+n2kAXvfkR3gyOD3Ku54bVBn8ceHwsDs/tw0vp/3b1fymrN7ajyFiYEqvNYuFc+vC6sOgdQtqKQz+57VCRtHS3qdHpmoAmib2yYCPeeLymoUPCNwaTCbT5QB5vG7Hxc5gv+GE/woDpcR1wOQJiV16InQuIn3br0VqhFW/rqh+vO3k3HA6eyd96tCZkKn7JTk/LQWPlQnmKL1o5g9bNWTbCxp4TzCUojvrs68vz2vG2B5J7TpzNbMy48GMePNYTFGtxjt8vLO0vMSen5gD64zFfOQDIgsZ6NdpN6jY4xlc/yacj3gM/LQLv/rCTYBLJz4ZLTgkmeVwSUyGYG6xCI6klHx1k//M//3N7xYCOv8Tu4MEH6ofZsxFgenzRyzZ+Ooyh9290bCpj6EBx4weMz1wcoOnfmM585BOf2dfPjzMiB/lMBIrdHLYewPqIqytoza2VNQP45E7r0s1Rh1EHVEUxXfIl3b1KwxvQC9KrTTfgo1whP8fTtzE908e0Mf3lU3vO3PQn7zO58x217LrchIDWqQPNGtqXDjN15Oc///kW1/j47GDzwxJ1wzrEW33Bo90a+0UmYLN5x9Oergbga++qGyBft87xcbMIfIgfqEgyj942ug0m8Vz3ba7GJZ2El4Rk+/+6bNwKTNFOJt7osI1gs+AJ0s0vSZ984zZRd3zZi7cnhHjvwzaLwkeWDfNoc90n95nGimtxqV/cFTf/1kj8rNUEayG+HS5zjDxdZK03sB7WAF5zyDh95Por/+Wp3PPzdXnhwJuAx8/X//zP//yuqNLT90Lp/eM//uO7p0ZzysbUdeu2eNkT5t8+FKv2gvg0x2k7ub2xyXerdvtx1Zcfxb29177C3z8NKm9mDbAG/q2sHIheXuEXBwcq+801PfmSXLWMTLzxPAde/ciu/DWHdS88hw8vpfPdH3YtTgeHBEEraQRS0lo0Y/gqAGglo8NK3+FTArjTQlOwkqfPRpb86GzBkrUNPjcJe/2DTbL6EgkoDKA51PaEp9i16TamMx/5ms36xeGM2Kcjr3GpLxAVmvAcuzZQrVlFrn7y5WN5Gj1cIZaHPfVVbMoXvOfk09PPx+Wr+bxEwTxnC70x/okrf4pvY8/po70FxMU+FD/7PzpfxNd+Rhez9jW5Dig3xGSM25fp0G/f4wfG7e3WXF9dgfGad2Pa+SJn8K0H61dan+eztUg7X6zHRzzsvn0L24zfEbYwPVVJaIkqaSSbhbOYEqyN3y+hjElkBQWPAiOB6UgOjR4JCfDR42AxRi97YBYkdIBP8pKhE5CzcXqaRDOHxm0CPror77UnnnPAN/Nojm0k/vD3gMsRECtrBCtIYmjtQLmgLc6gsfB//dd/bWvmyUw+1Jdbycsj4/JBvk6gVz7IPflBHtDFJzkBOujwgdZXcQT8/vLLL7d8Mh/2nhvK2+zkK/sgzDeXXHe9FGTLQcfXDjSx0xdf8Ue39rA4G+O7dWsN8t8akp9zaa3lhDXUJ0tH+9h60kF3dcW4vott2NM9wHvA7SLw7p/sJJ2k6E5aAkqY+kIlAR0GkllRKWmN4S9xyQEJKMEVJeOSFZ6Al74SeepJHv8qR4Ys/XzJ9tRto3SITvpemy462rR0orWp9mQ+I608sR7FTIzKDTTQesUPA7yty1z3bfD0QY81SJ6+2tnA28GmPek90XXH39jMJTL5Q3f6o/Mx/flq7LmBXX5Of7JpbMa2tnH85+SSvxUunvnKD21rJlbaaoT4abfG2mgOJzr4bMyB11ysyZw7GfPKRv3mDKMlP+dIrhyIb47ful2ep5dP5jLj0th7x+/+1qGkcTc1oe88LF5PWg6mkhZd8sKSOR79ihadHXTxsSEhQQed5OdHd+wlPkyuzQSzT67DLF768IJ82ToXPiQrf2EHXQf0BbFj+OsIiLW4WwcxDKwngF0dHnit3+TFp49vfbIxNtezda/4pkeuySv5wUZ+WVtQbmizM/OGHBpdcgCww8ZzQ37xl09hbVfj/DDGz2CORbs1Lr5sT8gPPsQDF1drjKfYTl876PBbL7kBqgNk6CFPztq2L/U7NMnpz4sMfth1wO0i8O6f7AqFxJMcbbD6sGQyBlc8kpN4aBJVkgUlJJk2Srrx4JfobY7k6PIKkq51DE8FKJ3JsQOm3+T3dCQz+aPRk1w6G/vMuLiKjbjUv2VM6C6fVr09cV2y2/i8u1911TcP12sXRfYr8NM38WjfRQ+bp72yyjUeNj96gNi2b4pTfN2MFLfG6aeDXGN7PuF3uUnAD+hEcwMxZdD4Hl85Rabv3RxubrjjMQbI0rvqbIy/fFVfunGh39X8m+um8PRBhj90txazH98eTqYx/rJFnh36Pgp8nJmcWRGLZeEsYAlrQS0ybEwSuZPTd5U8FS4Y3SEGd9AxmUzv+X1/4qBrkzUeLpHqx8cfUHLBeA942xFo3Vorhaq2NdZ2uTGSI41Hjxf2nU39NQ/Q5QqQY/IWT/rYMi5XgbZi9ZJQLNjkL//4FaC175pnY+fw5Jv66S4e6A6pvqvXb1ycxAhYA2MusSlGfNTHa6xYknPguFFBrw7UJ4+3va8u9J2sGpAuhyy+9HaI5cfUm689WeIRA/4Zg82VLcCHapg549fHp3/ANxH48E92TVWizY1TPyzhSjQyJVHy53DJZzwdEg6UbN1RbsTxga8EnRhLfg323WY6GkzOXLUP+CoCxam41L9FfGbMFcJeIZZPcE/7CvJPf/rTux+hVBzp8MOUn/zkJ1vx5JeckIflrSIpl/Qb01cYV7jl/Fbdaz9f8rNxdDS+NI/Jc04ueTg5vO0vmB5FHRR/7Xi0wRz7ivJdWk/dxqf8jGH08FofOozoaM58npAv9IJ1HM0hJn/25mYc5Ff68umr0W8+Vx+/Gfmmla4o6fyIB+a3V6MZfyBs8cDcZLMfvcSTOKBk2zrLRzqRJSaYCUdX+oy5o9yDeFaMl41pZ0/+oL2NCCh01rhfAzuAHHByQjFx5++/jfn1r3/9xV/91V9t/40MzxU2r7uss4KLR58+eYkuN7Rd6Mb9ezttOeqwbIxdNpOj8yWhuWQfnv7wE/D9WjDH5DokxBadfgAr7HA3GOhsJxsPerT09aRlLHn62pfoQeNrfVAH6HWxNWXpAtnVNp59/XjcuNBtbPrceLLG6MOXT8bQAfrq4zbwiT8+/GE3E+y+dZYYNofEUTRWMAZKspIqvplw7t73YC+58a260K71G+8BrxuBXnX5jsbB1pOWnFCkGv/7v//7L/7hH/5h+//Nfve73218FcV4vP7qBmoWPHrkicPtyy+/3IqlwwyPXGHLgVseyuFZxF8iQn1PXRHmc3ls/7SHmt81PpmzvUmP+aXH/LIjhvGw6XKgikUxxFvxb38W+7kv8wlv+3Lqag5ks09m6kAHePNfv1eP2eUfXuuYb2xlD59YpcO80kMOHU9+spdt9OnTJvjJPz78a0yJ4JIELglQss21L3km7altd7oKwB7YrHtPfCVu/sD3wTqfOdd03Sf/WcaKU3Gtf4v5K54OOrqtqXUHrZ3xL08H1D/90z998Rd/8Rfbn5vy56cazweyv/zlL7fC59+FzUKGp7+wstLNRcFUPCua+NFe4sDjj0LMjw4Jc0PTV7znAVc/uTUOfN+Dlb9cxzvbye7RGoPLgfyZY6tsvJNHvMlO/81Zn6/XQHPCO/Uk2/jeWPF1yPFlQmOTttde59W8W7dr57Gn+63Rvh2ht+bdDfyxeECytLBhdMlaQSihyChY7qKDvQ1hrOTQdlfvcEObSaKv4LGTLfzAWJj9ZPmYPxvD8fFmI+Cg86Rm7Rwwc93kjXF/d9VB58By0AWtf/2wpwA5sAfRK2jrjRO6/FtzbU/XLWnNe2K+dgDyS1GeB98l++KTjnjbi9kx1+Ko8LMXLdnGe+JtnE489bXtY2uGFx3wOR59fC7r3ROneGeHH67qgTboSY1ckA19fHTMuiQX6EETP/NefRHb6HTga17Z+ez4wz/ZrQtcgZBQbRY82iXqTJJJxyeJbAIbKnlyEkyyl5Bo2Zg6ajdGZ/ZWbOwSJBNferMT/bPj4lRc6j81LuUTPT1JzWIjX6xJ44qd/OlVJzodFTxjimfrOP1sTPGb8vFuRr7+IAfS+zX5WRAb5gDEN8j3DqeVntyUiWcPr/zmbR+ynQ487K0HnvHk92TSka9rTJOddpJp7/vO1g1y/cbJyg25AKYubfzwOjb7/Fl5ok19+V3sN6X3fKx8yYuRWGTzHhXvZui6Z+03Ph0LtMK5RbKIoKS12NoWNpj6Gk9GYtLRnZmEBmRcJXSbKzvphNexfF3xpvjCR3Zjy5/6nx3PeFg7IGbFeq5LYxNr3wflE56epMoBNuRPa9QTTYdZ9Hyhwxgob/bG5kE3eTfBrz/ITdk59pA2/1fgd/RwhR1vMU2uecfb3Bpv7yXX3mq96DYXfMmiiX12iyWd+NiEp6/G6DSW7nyiBxgjw07+NBaODrusu7G+smj96eN3cvWTa6w55UvxaJwcHnrQyMPmn5/JhtFrkz8H2aaz+LqZ6sb9nNx7pL/7w86CWjCvHib0JfSk7bUlDZCgNhlds4CVMOgSApQM2snbJNrxldBhdBeIluxGfORHOonzdW60R6r8UGLWUmET62JTMWk9Tbg4wujhDxWMR0xGHDoYEi+e4lQOzz1Dxl4yhqc9FK/xwFrYO56K0O1jhdbXCK1XupMnizb7ZPE7ENwMdDBMXjS22MTLr3RkAz9d5pifjYXjMZ5d/sZPJ1v18bOHXjyyW67FQ66bJjSQHfb5z+/04NfOtzCZbHylZf8TH33xa4uf9WPrI8G7P+wsqETzD3IdcJLKxvHOXRJcAq+GSrjuuNEsOih58EgAWDJIDgB3OQS7O4oG86+CsdI3JU/4MP90S3xQoWkOT1D/7kXFpCLYZBQT/+6ttYg+86WcaOyzYjESP7kNxFMRhI3Jv9ryDoidGKNrr0V35iVd7V82vAakx1MSebLspKc2Xvvd/kRzkVsP4uT4RZd1Z59csvk/b4LMGV+1gL341Qlj9KE7oP/0T//0zo/2Y7g50E9Hfb6lk/9swXO8tj8kwKZ/dpKMMW16jM34m695XYLiw3a+wdWxS/Lvafzdf2dX0kl8B5xksYAWr1dClxZEkticErdXRPSCko1OCWBz0m0zxnOf/nRPHkkooW4Bzd/GqqjTXRxuYeO965hFRrzEx3oCWKyK45xrY5P22dozBsVIce/HW/bHPGDEEsy8J4fe2IwhefsBv/3a3pjy+Nt72tMn/QnxtR/mWDWhMX7ZM+VHdDJsgD2ft4HlI/5kitV9vuKNL3Xxh9fx+MLx1Q8Xh/rnMP1zbcTAOoiV2Hwk+BBPdg4pB52FC9ZXAdFXbHFLaAedp8ISrEODjL9u0V0ovplk+PXpqq0P+OHOFRgHHXTXvmrdhM58KBYKg8SE032G/dORFU/rVlGFJ7T2k97aNTb5P1u7GIhjMeqgQwMKK9Avdvc92cUTJtvTkvy1n9u/2Zi8+ZTd9pwCba0BGsBD1gHNRq9J6WCL/njX4o6nMbqBPQb0s0snXrpgY2JlPB3aqw40fOoCWeP4q0n8LuZiAtgCxSW7aDNG4hCPsXNA3lWNyh7aR4MP82Tn9YR/myS5bRQL73rIos0nO4li4clr2xiX9O2N86cNKHnwgPzcOk/4yLcw/fzO/yeo/jCiNnI/HlBQFD3rKlat2YpNPtqHCcQjJ9JTVm9PFOP22Jpn5eHM+3jWvVixL1+5177IZi5fuxbTbrLhmQdoU2ft/M83fObrIKw+rL7hcZPsq5R4HErdFBjPr2KINiF7e7qjJbvqXvWIM33X3PiaL9/cwOMnh/YQHdP+W25/+zb3LXt6xjcbxeI76CyUpC1x1811RsW2uGQseP9xpoVP3lh3XZIaSBBJYSME8dfnj4NOsgIYD7mKRbyPxSU03LzpWn15rP73Lmd9+v7HXBx01q5YiZN1Kl5hvLOt/xlBbOQq7O0J0C/37T/xDOShMXnf3sCzF0s0el3lMd0OJXjqxbMHbAX2Zk801heE7V950BMMuXxipzY/+D0P4HnQGeMbfUEHncNIDek/6WU7+8VjfQNFR/bombrRs8dHsg5Thyj/0x2mq1jD52KGLzDfDjo26CInHq1JvO8dv/snuxbAAllgCyY5LZZrJkK8Ext3kZVYZCWShU5nd4R0S9oAHznAVnLR002XdsmnH2+6HotLzOZLD1vdDT5W70eSax2LTes9cWPlzMQfKRaPmUvxK4ftAfllr6CtsUILjJWjaMVcO73awF6yL8jMvZZd9PjQ4rWfeqIKJ48H7zywGkNP52xvRk4faPkIp8d4+7fx9lu6w1MHWw5JvlRf0Fz53VMbvcCYdvzVOGuw+pwv4U3BhY900M+2m8HmdkH03Q1/mMPuXOQliwX9qFCytimaL3zAdREoZriLZ/g6DR+XSxxciiysKHbI3HLWxTs7CnZ2b2nn0PXtCHSIWlOx76CE7YuPVEc+1s9tvr2OW88d1kdasJ0pbiSFQYK6w3R35g4SPuD+CHj1VKG9n/MYFQH5Jc8qjp5Sngo9BdHdQdqh91Tdh/z9ERB7a2hNgbhPvHU+yMeHf7J7D+vUKwwJ53uF+X3AJf8VB3dnBxwReI8R6EZD7ldom8eR20XieXGxD7PWujyv5ZfV/uEPu76Hm2Htac8hYVFfExx0vnD+1a9+9cWPf/zj7R/K9qsuT2Z9F5CPzafvEaPj8x5fwnb4fcSEbb63wj2hePpvs8PgiN9XUXYIdfCUj8XqK47bfbIDyuHW4nYWDk0zAusNRmPi/tFeY374w87inVu4t1LM/KeeP/rRj+7+6xeHsV9l5XeFJlxCnsPX8p2T/2z0bng+w+vup6ztzKtbx4xuhfdYg6es0ONk9+rgrdf3cZ7dVupTHHa3DdlttfV9Rf9O0J8F+t73vrcZsfFLunNWS1QH47xLO4rHuYh9l77Grph+l/Og9GbhlpFYdRb/8C1tHbruj4CYg2rPR7r5ePf/zu7+pftqVOGfoLiBlT55Xqrt1aPN3j+Id9A5AMHc7Nr5HT3s1ZKDLjn9XgO91Dzeqx0xFDtrAGZM3+ucbu13+8SPefyYoTy7hR3xnj+QkOMKrPX4SIX2FrF6Th3WAZT/1ZrntPnSuj/8k51FU8x60rGY9R0Ib2FR29Rt8n7hlu/o039J0hyMuXpCxGde4ZdOqPdor++hillPGm8hN147nuVXMelXvmJlTB4+BexHcZ43Z+W9MdcBzxcB61e8V/x8Vl9H84c/7F4nrI+zei7Z0BUDBQeuyFQoVmuzQOB9beAPP87N7zn9K0YVU32XTb62+YgG36qYP+fcDt1HBN5CBNozfJnt2Y/eTdOsZS81h+Owe6lIn7HT00S4A6HkmGIdGP5sUH/2yFOJV6HJk6PD1a8zp46XbvM5v/fuIp/bn+JZfOq36dgXM2CsQ3EjjI/WIz2epIvxYPtOk5zL03pPkGR7dSc2KkANTgAAIABJREFU9wFZccvf7MPoT4Wn+neNfXHam/8t5jDjI9978hSvbmiK3974Nf7fx7POrTWumPPvI8PMwd4uNV+xMV5Mwmsux//c+DjsnjvCF/TPzdDGhfeKoOTxd+wklV9rSh40ACvUZNODtqfngks3HWZ/zkcbrPSbGl2Utbki54/4zM26jtcPx79u6sYPfETgs0WgvdVNWD+0Kw7tmfZcB170+F4CH4fdS0T5Hhv3LboEcSnIkslBJ7n6yyjuYsnvHWgl1z2mX2SIH2D18Rz9uZxqU676i/8aL3RXm1i7uHejseo6+kcEPlsE5tN5f9dzjYG9Y3/N2oXnpW8aj8NuXZkX7kuEvaeL6YaDQqF1uP3Jn/zJ9r8VN26MjvcGfOb7egg+5zxsuGI1X1f2D/T91Xk3FF658cu6kHEBd6Veha13r8/p86H7iMBbjoB91J6yX/yvMf4ohoPNXlkPNLzt/bkHX2KOx2H3ElG+0oai2uFVoYXRjPlLK/1lcgdfUPLUh3simbTXaq/z4ke05/YpO2IklhPEyEFnc4qxzedyqJHr/w9bZfCQxbPqnLza8bQesMNUMbgkmy6+k1E4YDrR+KH9FLiFf/fZz885b36jA3F/KhQfMW1tstF+KuZ740+1T751oL8C/5A1voUPr6FDDptveO+/MGqviEdvR/hq3a7dA7eY23HY3SKKz6CjzVMx8O/wPHn89Kc//eLf//3ft7+hKckkULzP4MaTVfLNHMJPVvgIBRUfNwheQfKnuPZ/nPEPn8tNhbgqkDYqWIvkQzfpYzd2cQvzZbb1bwGP9e8Wtm+t49JcLo0/1J/WY+qN9lBd743/mnl242Fu9pO9c+6V53PO/zjsnjO6V+i2QYCkkQSzEKOjxdOh4VWbv6lZAcb31sH8QAUBXuf6nHNoU3bI6fPB5VDLr+f0ge7W8CF25IAike8PkX0o73PZonfmwHPM5ZLvl8YfGqtz/C9l55z9t0Rv34U7+Dr0XtLXb7/XeUnLn8SWRW6TN+W1b3NIArhi6M4Hn6TwRKLtlRv8u9/9bsPzVaYnEQW7Jz18tdcxOtMdT6/usuEJBw+d8SdT3xjapYuf5uUyzyD99ac+7WshOfz5Ujs92Z/j4u2gA9r3ge/pgDgBcZuQnUmLRywDsbsEbmSuBfNZIRpb06/o9/EbO8eX3JzPNfxiW87QbS1WuGQz/hm/PZk5ngwsDq5pe8Ym3nNzay3D8YdX+jk/VvqcQ/7Yg2COZSe86on+FjFfxR12mZfv89DMuXnOOUW75Xzu3+G3tPRJdbXB5mawyG2qiiyaBXY5HHq9Rs6rN68wve+2ETzZwd0lkXE40jHBuDGYnsbZRAfG+CL5fEdFN10OATz8x99GJKNPJn1o50AC879DlE5ydLgCdH1jXY1dg5vPlM33aPHwyVj9S/rFxWtkevrOQbyKL/nWM1twr0Hb2GhkQPmAZpw/yfoREn3FxJoUG7T//u//3nQUQ3JzfdhAM84H7eYan744VGD4ww/05LXzM/t0dYNgrDygJxvhZMSstjFttsQV6P/gBz+4m//kyfduNmYsyTYfOsg1ru0CxuacumFBb5yd5oauTXdy9JqjuZs33eaOxzyik3VNP/ieTnxk6ofpM8au9WZDG45HHJuTOUTH5zJGt8t4OblN8pU++CWGIMxPseSnOOn3pio3yd3a/+M1ZtF9RmxhLbTEncmeyRLVIVcx9fT2x3/8xxvLKieRHSBAohhvM7KTnjbVxvg1L1sTyE/alGks/8mhuWy0ayF/+F0RaM7TXvrQ2GhzRN/D+RjGM9vZQS+O2mDP9lcj3/1M1k2IjckGoF/fumWr9anf/FunZLOC74c//OEX//Zv/7YVuuQaF2trgK4AiGE0dDnlb6o6BPGA8qy1Sz6d6dGf8aKX/+SDbLnhcujXz9bUlQyc7fjZ0QbR0lHfmiv2DhDy8lxb3OOJ3pzy37i1INN6bca+/jDe3Fr7dO75gWZueOKjCr25nbOz+uZXin/5l3/5xX/8x3984UccoJogd9jhE91s6RvHK+7o8J//+Z9vvwaOjx1y1+yVzegrfLQ+TNcu/mh8ty5w42Hjt4LrK9atLH5CPSViuGQWCklrYYGkt3ls2A46dIVHUpOTJPOgI6/4kaMfpkeBNQbITKzNZhuycfRsaCdPL95oeB4C/PG0yO90lszpKgbZYHP6dc4efc0jnmwkH86GjQWyndw5TL7ib230xTkwPzbTb57mC9zVGydjnWD+9qoquX/8x3/civx//ud/bmtvnA0+Knz4jHXQobuKKTvziU9h7GmfTVf+wfTwo9j53zbo0zfXnsSjOXAcdL/5zW+2eeEDfKQr0E+vNUx+xitafPrf//7373h/8YtfbHMu5j3Z4hcHdPMpxuKDxxzEQ+7jYdMYOTbMCd3667vwpMfcHCboZKw1e/SB4ungak/Q11qKa7Lk2IF/+9vfbk+u5uUJ1tpkm14+mE95iWbcxSZMjxhZBzQ6yPCDD8bNNV/CdL0miEl5xw9+AnMK0MwLiDkQkym3EZ/6cVJ4wDNH4LRwm4VTcv7+tInu2qe1u7N8Ss6t3fhp8bc+WXKgsVNSb330LrriOxW+O34y8W/E08dp82680/5po200GORzNjfi1x97tDm+ttMZPm3WjWXaX2WutRFfc6endvqL0RyLZ7V7rl880hnfaaP+3nxgYN3onnzZmjS88Z02uO7vT0Xx96cnmN+f/n/Dre+DXnx4TofKti6nfyqxYXatbfoTSkZ/HavfWuA5HZLQnS35kY5TUbrTcTpsf386TO766cIP6m+d04eYpQetGKKVk6divfGcDpBv8eJPVj6fDrNNvzmveiev+CeHHkQrX9CjxcOGWMw5x5dc+7KYlcvFc+rUbp7/8i//splBOx1av2+/p3/GLh3hdGeLzOkG6i6eq45sFm/jrwXmNeeWH9GKq5jn7+kg39gaS+ap+Jtq+1RNh/xuBNYFm/2KX8WiopeiEqJ+SVz/Ep629njZv8STXD7qXyuDtwRubukpoYvBnGvta+1kg70J6/xm/K7Vja/CRN96sZ0uYw4iGBgz32ROr6Tu2nyJDouH4qZ9ulPfdBYzdDRFrwstfjIdkGiKabrFspjnZ/HlQ7TTU83mc7bwFFc0hxyd6KdX7BuvjwpxOle5/EjWITH9Ftv65hhftPr0oiny0ZpXudS4OeVPehxk5BRVcmLL98bTqX+fH+ZcPrQ+2e8mkw52iq2bGPDLX/7y96fX1b930xBkP5v5wUfr0zi6m51f/epXm+ikJ8Ov1qx1yc5r4dYBrr36Ik7zsGu8+NV/Kj6+sztlynPDKWm/9aqHvVOybo/pp6S++7/sTot595h/StztlcwpQe5eU+QnGnl6vbYJTom+vX7p1Qb61FkfJj/htHE3O/jnayn902a++4fXZKZO7UtwuiO9+wfx/g1b+k4b8u4V3+rPtHFJ/zqebDE2fto42ysf8fZacdK2zhUfpw25vTrCag30A/HzKs26+X5pD/JhbwxNPKxn8UFb7aAF1vtUJOve4XyJUDxaq3Ox9rrNj2PESA6YX7LprJ9u+JwffAfF6b75n9OxKRgfxXfV1XfcxXCIbM2Vfx3Xb257MT83lt5kimH82ek/ZRYLMl6F+qrCXjX3uSbpTDZd4ejk6Jvr1NhbwXx28bEYNQ8YTQxc6hlaMdnL7afM6zjsnhK9K2TnwpbQktlCwpJA0ipyeF0Ar0SAXfGWHI3lAp5kJ007vW2KOT5ltCfP7FeM2Ennns10h5Obh4yxbgDoWOeS7LWYn/k1ZVbd2eSTDdX8psxeu0O5seT109nYxBWteCrUayymnuLVehfjOb/0kcvGffzia10nv7kDeqfs3mEx5clkf+qYbTwB+jqH5p/etZ8MHdnCi27dQPbQo+V7MTQGzL3DeiOcPlZ97LQn6ZvxnjJ0FXM69PMxv7NPLhq+fC7ek0ZXNpNJT336unHMNhqYPF9RvsmN+q+J8zc/w/kk5uIoNt1sJxPPU/E3t6ZP1XTI70bAooKZyG1OyQ70tSX3hBIibCyZqU9bkgQ2ffrITnltQEY7mxJt6jZeP/5VZtrclO58dHfW01QsJXS680ufXomO1oWOBoy7psw2cOEjX9b4XxD71o0Im8mTM49imH/piy9cDPb8jibGgEztxqwrcDgE6daPP4wmTnMd0QCe+Ga7NwVsZjf5+uEpp51fbAbo4gJHb+3TW1zq4w2iwXOu8hXf5E1vNDJTnk5yYNVHlhx68hvj6aN1TRc/xEDfnKZdvPIsO+lCJ5Mc3ZMWHzqe9OgHbpa8GQH50tiUjzbjFe21cP7mZ3j1Z/p8jmeVubZ/HHbXRuoZ+SzqXlGSIMYkfgsP2wxg0ksm9J4SSxwyycHk2qA2Jpq+otOGdCdcm850ka09beJ5CvAhoF9/XsayZ9xVfKZsOsLGild86TWXp0I3CWzw5/Sd1KayA7Bx9Pz3utOvJ4EDAq81408HMjk6ywuvvfB4TeZveaKnO9v0oTemL070suPSD8iD4kAuKFZznCxbLkC+A1i7eeGjK17zZiP5+nTIM3D64ceG+Wi8dSODhz6vd4G2WMSH5iAIyIDmRR6/pyJ5DgM4Hrr4mx/a5mScL3Dz3oRPH2RcrSV9+uTYERtr2xzJeZ2ZzfTAxZ6N9E6b6F6PZ6v8mjo+WnuN91Pndxx2T43gE+Vt7gqLTardRreBbZhJt5FsKpsjOheSw58+GP/s2yw2k02dDB7X6cvvO1p/HJmdNjw70+bcxMZuCfl8SWdzmPwVDrL53saBXXjE4amgqNFTIfbzcCBOoMOrf1tVsfIzfuAGI9/lAt8UMnrR6eGrn6zDvlPz/RQ6HvrlCd5ypTFrShf/2OkJqgOZPJ10sJvP/Cpu2uT55sBgmx66yaMBbfbNi07AJ3pAsSYHondAio/Y0G0+HehyDA95tPyUv3Skz0HA3szJbJIHfZda31NSPLA15H97o/jQC8Jb5+sPvpIR5/6mKjl7tAOZPYcc8O8h2SIXmEexZ0McAT59V4dweZPsgR8QgVPyHPCMETht/G9pPyX21j8t0R19tk8bfqOfNs/duMaqZ9IaCxvLjna6wmgPganrIXLX8Db36fupgG2/liPPNr9hPF1oLvLrld2pO/k5l2kzmYdiOk6FbBPLD53ZPhW+bdyv8E6H1rfGToXtTvZ06GxjG+H0IQ6nQrfRToX4ru1XneQaOxXZjcfcyIjLqTjejfPFLwEBPfmAPx3mQS6Mlw0XWnz90jNbxtg6HUR38/LPCEDzPhX2rb9+pPd0KGyyxYJc9ooje83pdAjc2ULPnl8qNjdy9JgTHpBO9vJtxnja6leP5Po15enA1/1WPNLJhl/Eng6tO9/mPOYvcf0itbU2JyA3TofxJns6EO9spuN0YN7pbb75syl45x/WVD64gtmO9hT8TcV9ipZD9mwE1gVr49lYoA0G25jgdHe6YclcoWiswzA6fTPp2zzpCCffJlf0guRtQpDPFZ+1XwFJZ3oeg4vDY2TJzPjZMLPYGCveq/5b+D51Fs8Kd2PNjx+nO/67fyLAPl8niLM5rKCgKuLNRb82e+XElKO7g0pB/4u/+Iu7XMLvgGSLnqkvvXvx4X+Ftvxjk618QD89fd7984RyiA9BNrKbrdNT3d28Giv36tMRP1r60U9PPd/6Wb9DY7WFb+rSB5PWWtoX6W/ffMX91SeZ6O2hDqfs4jSv4kPGjUH83bjwvUPVQSuG6bBO7etp/yO1zdFat97mNtu3mOvxa8xTNXpOOCXs3asSdk6LdvdqQhucFvXuddWpcGy0+XHa3NurplPCb38+qH66w6dNeveq57Sp7lScNuD2iuVUqLbXYafCs712Om24za7XWNFOm3J7LWPMK6UgG/kfbvyxePr5FB3FMh1eJZkTMMZ/V6/s2C3uyTwWFyv66D8VyC2+9LFTrKLHnw9wF97Wi/ypCGx+WluvsNiwLnT0uqzXcvKCvHH4dBDevRKjy7gYGO91Hx4gVnznR9Cas+kV4OnJZfsrHvmPL/+mXDQ+aJdbM97x8Mk8xMY85PjpYN9eaeZb62asV5HkzQGPV4Rk2LN/2AnIRuPj6TDedKwxTldz40/2jfGtfZcd86I7nfEVl3QYF3PY61qvka1l86JvD6w5YFuM4kOnp/XZk31vNHFsv1pbcOv5HYfdM2fFumASdha2+jaZzWWjKjptnLlhbHSyZNpgq/tzQ+Kt0HSIdWAqEL4/AG38Dstspysb2VzpjT8GS2wxegrMeFawzZtuvopXGyg767pEfyxOX+uTHv3G+NF6r3zW3fqLcXmgAPDbeqDRU7HUN0aOrr22nBIP14TJi55/2vwDaOwHU+ZcmyyZfEp21b/6i++cznWs/J38k0ebH8ZrV0ibzznZ6dfUsZfv6WBjzrnD0jgd5t5aT/3y0xr6ns+ar3yb86cPe97+JIvHWq7xjfc949bIHFq7mTe3mNtx2N0iivfoWBfMBpC4bYBzovhsMnd0klsy2BS+pHco2QRtkDZCmwEm3+Zus3ZYdYDSC/DF0+FYP9vTFhn9klL/sbAXh4oEv7QBzN60i6ZgwPxsPP6pG099ePJsnSd+8Kt4p6onFn3j+jDgT5A/9WHj5hO2HulHo4dcPPWNTXo6G8ffehtDz0a8MNpKn7bw5Hd0NPqsxXrAouObsMqZoycg9HIznQ78nurQxNIhAJezU19yez6WK3iCZNd46AN60rUnM8fErbWnN8jG7JszWWNw9uDo9AXm2oFXPjT2nrG5mBsoZmJQ+xZz+2YlbqHt0PGdCKwJXjJ/h3EhSHQbZoK7QPJwGwF2SRb8NrK2DdFYesgZc0AA7fTg0YbZwKOfnjXpbMBr59JmDTentR8dZo/+5pD94knWmGJRYcSPvqcXLwjXxuvwD+ho001dbhRAmN1pJ/+SoYfe+sbzFd14EI9xtvUVdzzmhp/fnhqiNQ99/EF66WmMDvzppAeNHHrxa97Zy0b+0edCd0XPZ3obS2f+0AnwADJ48sO43HOAFYf89xbCQXf6Eccm659fiGf+bcTTBzkydPEt28bT1ZzR4i9W+nSWY3hAc8r35oJ/6lvtTf+SsQb5Zu545BRZXzMY00fPr+IL24+wvct+kP5o+UJfMGPQeGNvEc/43cK/47C7RRQv6JCcwVzAaxNuFlJ62szp7DWk7wJsAvZ64inZ2dVug5Fl3/cBcxN4TTbtTVvTd3biy489zGa2w/iiJ5Ofs1/RMTbH6ema/JMn+iVs7mIFu9hUdMUwG14BK7aKEezJWtFZY9PNA5tkpw660WD6Z+wU82TQyVmX5OltHMZTodXnB90ArzjAbAH8CiidvnfTL1b5I3f45TWheJgznTNf6MoOee0ufXIOBLbZiJ+vzceTGx626MZnnujii4+v4ksnP/xzjp/97Gdf/N3f/d1m72/+5m+++PnPf77xsNGc6Wo+0WFgXmCNFd/40nw2ptOHNQb0maNDio/8mXuL72Q7ZPjgQgOwy76Cf/zjH2/fMdJp/kBO0et7PAe5GBQje1ss5nrzFz96a8wngAboJwPHwy99fmhnfxN4gx/8vCUcrzFvGc0dXRKqzViC65d0OyLfIklUiWmz2RQlgEQu2Y3bxDZJmzM+9vHpG3NVeMjtAV3xNU5Pm8NmA/jaZPHtYbbNF8y2/l4cJg8/Vj8bJ2tcf/LMce1LoGA1J+2KNd0V4nj6G4zdYKTb+hT/6UvjcPHqu1G0uY7imx/RmwtecI7+1ehXn8252Bb7CmqFO3pzaQ75l21+zRyOLj6uCmx86Zk+rTYaKybFt++S6+PLbwfcT37yk+2/GfL//50DPrUG+Ro+JxOdLCCvTc7cQXNwEDn49qAYrGPNs/Wb4+krbg57ez1Alxf8mPrTGV96pnz8zR8G/CjXkn9NbG7WHLR2cx1v4dtx2N0iihd0lHCTTaFBb2Hn2NouecloK6raJe4c952e4gAqGFMOzetMG8NBJemDNoQfrvS0wccOy/jgCuKk7bX3EjY7sPk3j+RnwUGLv/EVNx5ufMYo2oorGGTFRkzOFbl+HJEdMbAW4u+uXN+vAj0ldSeP1xyTnfazPf2c8Wr9rAE98Cyy+VG80j1jSrc1hhUUY+lLHq1CWzFW2M0NT8WefrLphwEs58w5n8tT482PLF3G5GDAJh1yUpHPB3zo5ly+dRgWT/4B2IWfPUCP9YynOBkXe1huw8bQumFB52+6Wis+zYOIbjzhzfDXttHp6IaQb/pi3TricRW31mHt05sP5uXKV3qTK8b8cRmb7fyD452012ofh91rRf6Gds8lVBvkkqnk2yCSF0hg0KZQBL788ssvTv9v1lZwS352gELUq5wKGdk23cZ0+ujJpT5sY0nGudkUg2xM3r02X/NjHd+LQ3NrbOJVXn8eEPrFLDm0+8D8zCeY/q5j6Z485CrGFcN1PN2TN9q1fsY/8Z6dPRoZ9NZxznfOCR9/JjQ+adr0iT2dEzqQJu1crqzxXft09MSy/tOZqX+2WwM0PgJPMfJ9nds2uPPRwXSJf41N/TUnmaDT/OC98WTDudX8V7o+/6oJ8Yeb+zqHc+uW3Gvglzjs9t9jvcZsP6hNiyjBgeR8KJDvcHJYSVT9wCbW9zTmoOrfKLnrs7kBGcXYYaVNxgZQ8PT5Bbv690qT3maad6h0s3EJ6GmzaYMV7+mIh6zCkI7JGw//ahtfi++UWdtiUhysEzvNV1usxAefIurJOR5FiF1y/rsW9OKvbQx2gdr9STH61jEy5ssm/XxJrjyKxidzNU4muXTip89BA+OFW39tPPSRNa7tyYVuFz+SSz8aQBc79nqbgC4GaHIkX+mUp+VudL7wjy36i2/y9Hlq1v/TP/3TbQ3coJEB6TGX2vLSvFzpobv9QM4YSAYfH6KZV2N02z9k5pzI4DEeiEk64KkTn3FyydY21roUU2P8Frv46eQLwJ8+fskXNxrJ881FR/FgJz+KwabsE3wcrzGfeZEllOQDkkzSAgUDHe0a6LVNTxASu1c0vZa0Kf71X/91+xLcwed7jfSHJX6bCI1/ioMiRE/6w3zDl9+1Ybra3PfNIZnJQ3YWkzkmNux1rfLJRrfRbfygAk0ezyVQkDrI8c651s8WXrbYFC8Y9DSRzbnu5/RtgqePZOqHxYcetsVZv9gUO+PGoie7xiT61BENRidDl7k4kOUY34r35C+uxtM58wEND53yPJ7Jb9xYvuNxiLUWyaD99Kc//eKf//mfv/jyyy+3v+Eqt+UofdZDHNif+rVbh3ShmZcDMxof2ay/6pjzxldcihv/wbS3FzP67bO536ZNOuSUJ9j8QWtdJq82OjvmP8esoTGAXgw2wtcfe/7N8Zdurz6zf2sfj8PumVfVhnZJOhjYFAqKxI52zg3j+EGb1OaiL3qF1i+5/KHgDsZzOld6SZWeNkeHQOPJTZ+incPNj6/JhdHobh7pWGXQ0cx5+pKedMQTPZvpvQ8ngye5bOUfHjDp0dCTi6YfzbgCpDBNmnbr2Th5c10Bb2tDZvUjuehTnpwC2mGSHjxs0Ud/gIYHLTr92uH7ZPOvIqbAs+2QmWN06IvLng9y0E1cP1KB7Rt7gcz0gV/APB0qMGguzZNP2vFvTKcPc5t7rHG81obv0ZKBxYnOGffZbn4Osb4Ph+PJPwc/XfrmLWbsFsNip7/6wXf7nox2/vBvxtVYkP36r4mbIx/MH9zav+Ow28L6eh+Sb01c/ZmUr+fd81rem/tDLRY7utbNMfUb03ftQTFXGHraaNMlky3yU3f6Ji19k8aHilA65/jazuf0h/k1C1j0czhfptzaVlzNm81ZdPd0pi9evoD8N8fp32prHevg7QAzPg8/8rP4518xnPr5od+hUX/anDTt/N7TN3VPva1NMvTcB6ue/BFL8TLuYJv6VnsO79Yp+dVmhwZZMPutWzJrP/qK4ws3rt/FDt/4KDbZn7xzbumKN3nY3OB40vFUfBx2T43gDeQlQUkjYdzB9VpRMrxnkPTdLZuLS7Fqzs81tzZRG0x8Qa9ni694A37aYOsmNUZW8exJIponYXPpCQI9WDdqG7hxTzn0sbf6WNEwlt/k9t4GmGfy6Z64g2TVSY5P9OdHttDZ7qmCDnPUb+1W39gsd9NTzOqnd8qSEXdzqMDRxT8X35JHn7Dqb6y58ZksvWwDMi57bPphTE4UC/Mka8749fFHxw/Yui/+xsnzJXto9oSnMIDOv+JdHq7zljPZb26bgtMHffSYF/1B8zb2GOCD+Z3D6SxG7St2ya12m4N5BOZr7sVB/6Fvp9J1Hz4Ou/ui8wJjJVEJxeRzLPQLTGXXRPOTzAqJJLcR0DsEdwUfQcxWOBXssauw8qEDz8ar4OA17hWZDauY7EG6FZR1I+/R9nSstHNy/Lbxnwrp53ux2NP5UHvp3dP1WJqiac73HSBTt3WVW/fxP3Re6b/l/ORWOdXBkJ2K/JzDHi3+8Kon+h4ub2FQvZk29+TQkl3bK3/+TBvxiKUYzP1m3fTh1qh5y4EZs/Q8BT/uuH+KxUP2WxGw0BZV4Zd4rn7NVv89Y8nLfxsd9m/QmrO70KdCG8tmoh+Etdlq4/jRhf+g1i/++n5D3AG/+GPThclO/fjSbV5kjbM9YcpFt8YgXnYAeboCfUUDH7/jR08H/QDtIUDXvKPWTxc9zY19kP6JybjQ+N1YNHLJN8d04W0sTG7KdNCh44HjsWYgn9lnIz/QXey0rnQUX/Rk0zl9zJ6bIDDl9FeZ+sbOQX64ycLvMkdAv5i7fJ8H2G4+4WKcLjdjYK6lMbqLazjZ1jZMfrb194DOyaedTth4wJ/4k9Hnr7k42Hznag3EwD6T08bIwviNWZduDtL/VHw82T01gjeQt8AtNPyRnuxmeGzIWxxwU6e2Tdfmmv3o/qain637U1l/+7d/u2H2RwI/AAAgAElEQVR8CouNhU8xir8f6uC5BmzMNmj6Kgpw65sum529wDi+OQdjChZ9U0e2kr0GN690yjHXhPROXu1Ae8rEt84tPcnB8U5a7b2xVUf9PV56Gl91FufGw/jo0u/AEOva6TE3MNfmnA/J7OFkwvHUV/AV9mIZPT54+h49vuTQZ87EB8d7iTbHa+/JNjbx9AN9xrS3KH5spA4YMyf7oLkln70pP+08tn0cdo+N3I3kWuh+bdY7b6/a+vc1NzL1amps5l5fmJf2Wlie4lybg47Z1m+TFdd+sWpjOUgUGf7hcxB3MK4HcwWp9Vo3JrugA2vdqPXD6akgk82G9mofLZl1jsbOQbww/d1s5Ae52s1p+mE8u9oT0h2tuaz8az/+SWezGwAxTFe8MHtBca6/+jJ1xwPHN8ebd3z1w9FnXNLT2CUcP53abhyag3601t2azBsnvFMH+fqXbDcePwyy3/geTsZY7RXvyUUzB3MO+hus9r/1XnMv3cUhuVvgb9/e3ULjoeNBEZAMCrF/OGuBfWek8HrVZkxSv/fL4SapFTDzkujmeAtoc8B7wHYHHeyfZih0Yqp4uckgi89B8KMf/WgrAtp8NsZvh6L1sSbo5IGCgQ67bGyXOdIPPKnrh9mkhx82PD4y2SDDPruBeJEhyw7ZawAvf2E6+Qr4w6axfDMndvjh6TZgFy8IpxMG5MyluTV3Y+RBPqcjOlvZ5Kcbogph+q2dMXrh5kEvfemMbi7RimOydLJtbV146QewPhk44Dsf4yOX/njOYbLx0sm2ORSPbPHLGuG1JgHe1t0/GqejnMNTjLTJzj7aHtBpDpdg8mkDmB2Y7+Wv+TQ3Y42zYwz2Ty7cxFtfYJ7FHA8Zc1vzf2N+4sfxZPfEAN5KXPJIYglhwevfSv9r6rH55uZtUzTXp/qWnnN46rc5bbR4jfXa0qbr3z7OQpc8GRtb0TOneFo3azaLKDkyaMllo/5c5+mbGIkZebb4XBFwsDicp2w+rnjytA5oFSP8+bLqb53SEZ6x087X5ItnvhhnT5z4UEGcssk0t3TRUTvca/7mk5/NoziG6YgnmRmD+JLPDp7myvfo6aD3EhSzPb7GzulrPL/KnWJlTqD8g5sLWTEHcPMIbwNXfOAHezqsIzsTzAV9rvkc125e2vnTHItF88BzKzgOu1tF8oPqKRlL0PpNd0326C+FbfAKWRsEdlDwzcZ7CrRpK9ZP0XXIHhH4SBHoYHsvczoOu/eyUq/kZ4dbh11udAdW/7Vxd4bdffPb5TC8NRSTW+s99B0ROCLwfBG4fSV4Pl8Pza8QAU80npQcGvMprldsr+DSrkmvFh143vU7iG/5JNa8w3QDh94BRwQ+egTKe/Ms58Pvae7Hk917Wq1X8LVXhD3NSHwHX092cyO8gnt3T24O5F5ZdjA/x1Pda8zxsHlE4IjA0yNwHHZPj+GH19DBZqIdduG3MPnVl15l3tq3Dvxb6z30HRE4IvD8ETgOu+eP8bu2cF+B73XeW5ggPz3dgX7WvB6Cj/GTjjnP2aaP3QOOCHzUCMhvb0jKc/mv3d5a98NbjsM3/5jjLXt5+PZqEZDMDpH15/oleZvg1Rw8GeaLK1/y95Y+2dz9pBpma9q8pa1D1xGBtxIBOd4NX/ur/lvx8Vo/jie7ayN18N1FwPd4/bTfZnhN6A6TD899+MwDLluvPf/XjP1h++NHYO6vOdv2wqS99fbdYdekwk2m0/ytT+St+jeLYrENvwWfW9+KNt+089t4P/ToxyqN8f++uTSWHH7f/wGHZdCTWDmHPr8n1O97uD2e7ORXfXIHHBE4InBEQAT+3yx2FbZZUBSQAx4fgWJZAV7x4zXfRnKuOY177+evsdQ88c62/nz9J5/61WR89WeuOQznwdiBS18wD8xoBz4icETgiMBeBP5vBSaMabb3hA7a9REQyw4UUrOP/trgEHEA8yvf8uka/8iAyVs7ff7MkQPNn4KC/X0/0GHWYecJEC/wtwAdZi56/Ds64yDs39UdcETgiMARgWsi8H9OheP3e3fNPYFco+TgOR+BWfgn1zn65HnJtgPEobP6NfMgng6xh/jX3/XrlWWYjsZWfWzzh1+rzXwhk4/x1F/1Hf0jAkcEPm8E/l939uuBV1/hOODxESiOqwZFXHF+K9DT1WP8ah4OIDB1OdTkkP9NwKHmSc1/VPkHf/AH25Oev4CO1v8I4Omv//nBGOgADrPHxvq93sZ8fBwROCJwRGAnAtsPVGaBqx3ekTlID4xAsZxPHNEeqOrm7PkxfcuIMVcHdk9TPUHhS37Sas8xBxM6XY1np/70AY1MT3XZ6m9gzoMuuT092TjwEYEjAp87AttP4hSJoIIBKyLdpTd+4IdFQAyLaYcGDTPmD9N4W+784FuHEwsdIGj3QfJ7PMY82QF51JNfvHQXHzT82dUng2f65bs74Glw8m7E4+OIwBGBIwJnIrD9GlPRqBjBik5F7FKxO6P3IH8dgTWOFWh4xvk1A9YaT3+iXevXPJCm7PxrJqsu9jrQjE37+sVKO5g0/AccETgicETgmghsv8ZUcNyBw0ARUbBcXhd1R+7fOgEFp4JmHPTLuHB39MaSW3F6fU8Dfvvb3264X+SlIxvb4Pgg31i6+AaSHezbd0T6eOM3j3jTVT+eqeOhbTrYEFNtT1B8XAv7Q/We48/n1oetYtL88in69AVPfdj3ZuVFeNpOx6RpR+cHe2T7ZWVj2cFfu7FkoscDg+ZQeyN+/WHsgCMCRwSOCMwIbP/Fj5+CuwOvsFSgFI0KFCH/fYqDqe9d0CqAXi/993//9/YTcYdFdG1yv/vd7zbsINPHi4cN/+vyb37zmy/+5E/+5Iuf//zn2w8U8PGJPB9Ah6CC6FDNhgKtjca3ZCucdLjY+fWvf73xZhsPO/xj53/+53+2vp++p38z/sgPMRVPV7Hkox9k3AL43zzFks/67AbsiRH7xco4OuBbOsjrN3cxdeDhz//0wukg3zz5ET07jcFosz9lk4MnT+3G+Vfb+uU/n/TN84AjAkcEjggUgbu/oKIAefJyaPm13A9+8IN4NqyAgYqgw6OioghWxBwSf/RHf7QdLsaBg+373//+3U/M46kAs+sA9GTnwHNY+UXehHgq6Mb4UNFrfPUrG/jTq4Arjg6/SXeQo+UfngrqxvjIj3zmi5iI1a2ALn62Lq3Dnv5iE8bDNzIdhPDURy+e733ve9u/j7OO3aisB8q03ZyLYWPh/NMHHYBwsvGc05Gu5pOOciH5Ax8ROCJwRGA77CoSikx38hVmNEWlYqqw6PdDgUKoIJF1WMwiFG8FqMLkyaYDjf3GOxgrePygwyHRIUT2D//wD+8KpHFAxuHk0Opn6+gdctrNVbvDTTue/DOXdY74Hgrp8eT6wx/+cLPjRoI9MeXPS4A4OsjyR59tPkwaHjD9ElPrK6b/+7//u43rT57WfBs8faz97Dd+DV51XJLhT7mAt0PyktwxfkTgiMDHj8B3DjvFryIxi43DSPGvoMAVvFn09opaxfRSOJPtwJn2G5s6HG6KM7698clbW+HGy+fpt/Hmo72OoT0WOqR7cjU/sZyF+bG6L8mJkbmY94xncvmGx9rjEYd40bU78PDQidY6pStsDOzF8L6x5B+C6ctOvs45P0TXwXtE4IjAx43A/6349GrKnXvf0VTgPIV4zaivoHQpfGigO35PYI075Dw9KewVIGMdUPHBgCz+dMynDLSAr4B94CDGS1ahBlM329k33/xWrPkIHIDRPZ3ip+8W4LWu70W9ou370VvonTpaxxU3JzEqzsXGmKdNfXETA99Z0lFctL3CNO5pGk9gTVZ7+unXnldy+ZEsenyz3VomVx+v9YHpmnrwmtcBRwSOCBwRmBH4P6cCsv25sLVgYJqFpNeMDpUKTTwdFPgVyQ6rqXPVNV93zqL1/9u7k95IliKA4yPEFSH2RSzihDhwQHz/T8AFzoDeY32PnW9g6lcz/3kxRbfddrvd9rhCqs7MyNgzK6Ky3LYVhs8//3z9Cxt4QHKmDHjJT2IzP08Z0bGLvY3xzL5xAM8vxZssBX8m9uge0mab4slvscz/h8i7Dw+/gDjxDxQvrcuDzIQZN3ayO1p0ZM44Woceeqac+njRJzf64m1On43RGMMnd/KgMwbNowV02YOP8Qp6Fbh/7BHYI/BRROCD15gVNImkhCKJlKz0JSNzJfA5jw5sE1M0yUEDB8LVViwlWAWnBC2pJWdlXD4aZwt8cqMJ5+RZoZEIs5HeEubk0c/XLf4+4/xKXzFmZ8n+PvK2tOTmg9baTIAD2THntv1tHMUl+Wjzwemvn5mG38adPlexjTc75ny4Ct7WrtvmyU9WDxP449nK2sd7BPYIvM4IfPFPxRb/e1VYgiokFRXjkuk8vSkKoGSFfvKsk8tHCbE5LR6nL1868fcSJUVwzJZDSQztxOtPyC64nvj5cYgn3OSZsu7bJ89VTOcpKlwyKwiNt222hS+ejbXsJlc752d/0idTW8xbAy18kL0KHTB3l83xXqqd9nmYCY752/ze7hHYI/C6IvBlSTGQuCpmcCW3Xi3BSSLzNZGxhDNp0MGh07pm8pljhQ74hiIZ2s8+++zN1772tRW/5YOcuPpk+nnYlL0KWD7g+lnUpHeScR3j6RSWnIe0ZBfHQ/ydpg4VDfrZi79CpI8WiNdcryn/GH7S6JPf2hWH7DW+C9CeQneXnH1+j8AegT0Cl4zAB68xH0NRCfOQrE5LJddDNOEk4VOSaDLjO9Qeojlkp8LTz/gOyTkXp0jxqyv/sqVXrc0rJIqWeOF1eYCYJxg2wVd0ittsb7M73dEky3g7F822jW7yzv6Wfh/vEdgjsEfgqSPw9quU77QqChIX0Eqy4Fi7Tr77cAoBklzQySn+8PQE+i40faNToga1yUyOhB8oBubxRmeO/Y1nwYiPbHLIzGenp3RO/+N5aJv8ZE85bFSozPm9Q32X17rs803Y4gWv0DUuHvAg+dt26tv20SbPXLLYlZwtz3YcXbxTzpZ2H+8R2COwR+AaEfi/k13Jd2uMxNorR3MSZIVmJjlzvZrTD/qlbYk/vnTVojVf8tyO05lMfHC94ou+Exq7tnabA4dOcOmuXQnP/GAfO/hELpv5n49+htifKMvW+UWLYqPwoc22bSweauYxOYfW8KE6dr49AnsE9ghcOwIfFLsSKqNKqvolvhJjSdlcEC6+aM2Hi7bE3/i+7ZQd71ZH+NlOmtmfNIoL+ypGc+4hffKAgkenq+KXPDjxUwQB3bPgFf9t4Yu/tnny6p/iR/IPxTXZx9qtLmNAb/1jvI+BP8W/x9Czy9gjsEfgZUfgg9eYTg6SLpBEJL8SYb907hTiVKQFEhoaOK8S8fWnsJqDi16/r63r9yUMfcneX/Rgh/G86GqMzmu+kin8PKnN16Hx1JpjL99cFaPaCpFx8ul+KKQXvz75Afku+F6h6rPP60o2eAAxZ13iFZ98TBZa83xK5yn24yMfH/546D0V6Cte8RsD40tep9q40+0R2CPwuiPwwcmu05mQSFCSGOjE168H9C1F9GgUn3C18eAvEUvQ/XUW8tOH1l/p+Nvf/rb+wWgy/BqCluzsKCEb4wf109HYvORNBxkgfetgfJCLJhmNZwwG+b26ZLLJNWHa2VxtvkXfA0e+sE9x39rZOL77tvl/X7+P0R/D39eunX6PwB6BPQLnRuCDYjeTpb7k22niXEX4JdOKSol9yoUrQWqBdp444NDNYgo3oaKgnT/PMyYLv76CcWkophWSbcGnv7lsKTbFYM4Xn2hn25w23sdYvyk32+gNP+2b9hzrF/vaY3Q7fo/AS45A90f3ontn3ivNv2QfX5LtH2T7FoUDipJEfS7MhJb8EqYWrgJAVzj9eKOHC3rtZ/McAknenKIYbSc8OhU67SHZh+Q9FEdn/vVXYZzU2Ld9oGAve2qzrbht7UVHjjhpk0kn3vAPtR1fOo+1neTR0kc3u0DxXgfLhzjA9Zra6+xeb0ezt3sEnlsE3Evdg+1x9677rXs6m+Wbckv3ArruCX2yjLf3RzL29jIR+OBk1+syqkqkj6HWxpAU57/0IbdFbzNYfJvJpUDBl/CN2WdMXgUDfoJXrZLpFk8mXnZ4lXrbyXDKO7dfHNnMv754Mm+g5qaubi50LhAuGcZ4D51QD8mc8u/Tp2faUD8Z7GGDK3/NKWR87tW1NSHLWmj7jwvJ2ds9As8xAnKNvW3f+gtI9m5gv5ev5oOf+cbm5z3a/fSY92j27O3xCHxQ7C4R/K3MFr4FZ1o4SXRuJJtM4QpXIm0THXfri5mtfjPhpg1fcFyulx9aRUCb72nlozhUUGZRDofPxY8KjHHxIxvkZ7If0hbzyTt1zSfbaBU5pzZrZw0BHn1rZ66f/+K5Joi/eM0Hq7kmd9mHrzh3gje2Fj3EneMf/e0VcsTRuHvgLvvO0Y2XD+3B/GofGptnE2jfsQneeodbCV7gR/HO9HwuBvxUAHsA/dOf/rT+JxF7wcN9sYi/WMUffm8vH4EPip2FuMQi2PRkS37dpFyzEWwe+MCN1QaZePwlIfOgG82cPpgJZ95obcZ81IJL+LsK3nxke/rpzQb+ZEct9uIgRvj7u5rRTP78jw/vfJrcmHOvYTYfY/Jn2tzYnaa11lzR6495N0dG8mqPyX1KfLGeOk+1L97oa6esc/rJJ6N+7TlyT+VNV+2045Cvk+5UHS+BrtzCP2CPuyd7Q+E++NGPfvSmf0Fmvnswnnmfuq9njnoJMXjJNn5Q7LaOlKC3+PuM54L2hGgTzOQXTU/7yZ830jFetNFt5XbTJb+2TRtf+i7VppcPNr8NX7FrbmtL+Npsm2uyLXpb/ydt/Pdtp131Z6vfDasP/OqJB5VOnfyN5776XxJ9PrbvXpLtu62nRaDcEXUP0Y3nj1Hse/eg+7R7Nbp9jxSJp2u/+KWvRaebtScQbU8l55gjEVpwsiVAm6VCBy9Bo5HU/bqBzQKcANsgNhTekjkZIHujIzf70dpsxuQrNOlx2pjyV2EX+si/fKjQZWc2pT6f4LPdXPjWhD9wrm6mGdfHKHT0kk1H/Vq2mWOnefqsIXDKY6eiNwsdGhdozdbBFT/4wW52tSbF81Qb4+MrqC1u57pXzKa84nqu7FP40zX1t9YTV782vlN0vAQa97DckX9s7vdh4cph7kNrZv93v6K1T+L92GLDv+cO68nOwjiOz8VguLFFOQdsgBLiTB5Tdv1+1rPlaX7aYdOwm+wArvHkSV64WvTTpuQ8dstOm17hU7Tp7QkxW+isbx5sbYPvOuRn9PGvQs78SBbZ+rOtf5uKLQ/a/BSXc/fXbbpPmSvp8CW78LHbnL1zG+ADeK0x+nDF7jb+U+ZmnNkkbvaRB55Lx48PkreHwxJ3seFzcbMfu8/Mm8NnzxePU3x9bjTFnk985A+/jIvDtBlu6297rHih17/02k279v6ST5cNuv6n8oLfQlm0cHugHh6BYjjj2g3R3MOlv+Xcypm6UMz5dB/S2ZzWFbgppwyn769//evrKbwEGO1trWQoSZPVD/XTyWZJxNOzFg0wn+78Cr8SLB+H8FuccT7pp6uHhubo97SuoJTU6GEDPv7Wz0bzU59x8vTBnI8fHp1rm/jEKv10sic+tOyGA+H1zZE37TePng0VrejMNR+OHPqNJw4erbnWna45rhgc4jMntvxSqMkipxgkn61w5mfcpszmtPYUG/Bp4fCjfy7ALnu+n2+z8TnZ91zidEk7lni//V0RbZvERrHJ9sU4P/RiKJbd0GJsLKk+RnznTdP61dIz17F1zSt0YCZSN2U85vXNs1WyApKKZFXCW5G3fMRHDvnskHQB+YonXIkymkRuYxiePPx44zGujy6fa709SBf7rUNz6CVjdmx9Y0MxQC82aIGxC/R6OZ/hsjE6yXkL5LE7EGMA73UYXnLCoTUHr50XOvajiSc/p9zm4PhW3OBdfCBXP130kS32oHF9hcxcfNkOx2/rPuXmc/QVLnLZpQUz9nC9ToTHS763JebYC/+cgE2g9jnZ9lps+bKb001r07W52tj7wjzONnADFlMxdmOKudgfSnz30VqSKmHFm05r2DrCgU4v8GyZiZ0cYD+Er5XIQIlG0gq3Thz4IB+NJOfJls+9MsdPn5/VsiWbe52duObI4G9+kKvfK2Gysyee2dLHF9+W44OnbGNrA4z92Toy4oNH758Kg+KzDt594Ccn+XNdyQG171jeP+zQtU3M3Yu1+WtMtp+Jiqsx3mlT+4E+tGjE55vf/Oa6BvD85E9y4yl+xSPbyMDXvinefImXDfkoFuHhWnuFb34dn1x8WmuOh+zkkI8XD1vJnYAHtIfxsR0P2/GQeW1oP2jbJ3PNrm3fa9H/JcnWpij4Nkx9+P06PwY2k5uuuNrwbspzCx25bvTkGpNrzayjyw3WGoZTaOEkmWzRx6sFZOo3XpHLBxpwSqFDV4JS4EA+s6VkKsH5z/T//Oc/1zixz5gOYPz555+vRZK/ZGlLZApXdGTNeKwTy8dXvvKV1Wdjv+cnIWYbOQquQgf6Y+TrYPn46le/us4Xx05JxiB9yctXc3Shi0c8jfkkFuJQTKc8eBD9XDt4Y3rpjA+tWFQEkq9Y0J993/3ud1ceeslhi79Ly24xx1fs6QrEh+zi3d6INjui11oPfObYoeAF8GSwwfqwp1jqWxc2mTcmo3jo4/ne9773fp4PdNhXeNof6btWm0/Zw7Ydnj4CX7ZpBF8L2nA9LRnv8PAI2ODF0o1q43cjF/uHS39bTMjrBuqGIhNe4qKXDa1xtI3RdkPGh1dynHvDXPIllPyBPwaKLVkSanrJqO8V5re+9a01Cf7gBz9485e//OWNZMzens7/85//vPn2t7+9FiFy/vrXv662SeDJod+JhR/htq1YKGTf+MY3Vpuax+v0xk789Erg5l0SPBuil+wlcfok3ApZ8zOuCnhywiu05CuwWvr4O9eATcVan23p0TdHnuJh7Eqe4mwOrtMEO/G4xEAR1qeXb9YAXnER32KQLrTo8KEjj732gDWhR3zJs2/i0xcnMRCzCq9C94c//GHF//3vf39j7dmcDD7zTXyKTfErHuZdbAP8JxPA0/UcIPv4AsSCL+2X52Dja7Bh/TamTdjTGqfbqG3c1xCIS/lYDItpeiQuSeJcqOBsb57wtenJHuNutpJIiXfSSnoATbK6WaO7q42vGEj28/SDf6t7K7OkTXd2o8nvWoVJQi7ZhVdUKwZOjRKwJJRN6cvWxtv5qTMa7b/+9a/3fznDvZTeaLZyw2sP6YA/xtPemTFrXZvDP+Gzzz5bT0Hx1EYjvq31ofhGX66gbz5YZGt+Z0d86WldxB5PuoytnQK15UlmOpI12+2eQgu2DxCT5yn72ZfffFTYd3i6CHxJ0N2cNm9gQWzqXnuE39v7R0AMxVJMA7FW6MT+XOjpOjkSg+QJX2sufGsqucGVSCSdkh37XNFm+7ZN520tPWxpf7HJTQ4P4GeyD19sxA7goZ+d6PPHmAz0ElwJpGJq3olEoVOQFEKFr/jkk0QL0kuHBGU+2/vLGI3Zis7ltOjE06kvu8jkA30KAEgOvgl8Sr/+jBsZzXeSsl4ldWvFXnPs04+eTK/7FHg8Ck5rnU3ixmY8ZGpdcGShZy//8NOX/ejZih7A9yCH79///veKF3enTjLFlVygj9casT1d4mmMnk46tKBWnw/Wm16+Rov+uQD72Jmvz8m25xKjS9vx/vfsSmw2nU1jMdrMlzbiY5bvRnVJCDa6PnATF/Nz/LdG5IL6JZ10JR++q5stHjTRxz9x+mzGh27SmLsPTJ3xkVnSChddbXi6szWc9lBM4y0hR39MRvO1+CQqrSSsUEn4kqpx0HjqmXHiW0WqYl9hzsZk3dVme+3kV4CTO+XYI2wD7Jo8yYl+O4aHA8U9mlpzxUhLfjmk/YlGgSvxi0f8WtekRQ9a1y3v29m3n8mZuLkWE3+Nfj60Dmx7jPv/Gr68VJ1rsXupxu92XyYCbsiSj4Rl7GYFJRXtqRBtyX8mzJLiVtahZFyyO5TQs2srZzuecudcibHXnXNOn/+KW77AVeD0DwE/yT2UwCf9IZtKjtGd6h/6Cqs+2eyYMdefOpOdP8UCf3PZU2suiAafGKE55HPy49PGq59NTrEeKObctAltEE/j59pmp7jwhW+HYvRc7f8Y7Pri3drH4M3uw70j4CYM3IAArkSjL3kFJc3Gd7Vu7MlTP/mSI1x4iRp0gixJmPcKEvREHF8t2l6NhdMCiUWfXBC+fjLpmHMr8fIRn3GvWit+6F2N0TQmN3lioZg2Hx/b2O4CWnyKAxD/4iFuXrniyScnuQoMmV6piiNaNkVn7AK9Hp5yikFrws/0wrEfDV3ksA8OwOV/PGjMp39rJ1ubQ1usehVrnh9ozDkR9jo3u+NJFzsAvcVvRewfrz4Ce7F75VtA0pgFooQr0Uwo2U+8BHMX4JN48EWvNaZLQjVmh7FEpyBE25dKjEtkaCe/hIcXXkI0J9HhcRmXuNEZh2c/ub5dGD5Z+RaPMT5Ju0TaCQT+v//97/orE/ouNH5+pA/Egj/pgS82bHfBaSV1xQPwz88dfXmDHwqyFrCN/d/5znfWIogfb3EwB0dnhYdN7KAn+9CwT3HJX9+YnPzZV7zZ174IR0+x1zdPhy8F/eMf/1h9MWYfPfSSQzb7sgMv8C3c8L61+ZOf/GTF2yf2bfanix3AuPitiP3j1UdgL3avfAtIOBIPkDxKxiUNeMm1RCkZBSWkxodafCVE9MaAXgmOHvie4H2JIhvo8i1CNPgkXwkPn8JSQuukgyZZeMisKEl8EncJGx355tnnyxDZ1hwbsxVOYtUqNOTpi5nWJU5+pheOfEkZHz3ZR2b8xQYP+1xAEYXDp3j9+Mc/XmNhrXzhQ5W0XC0AAAyGSURBVMElvyLxm9/8Zi2G4uMXxunMfjTkiAm8ohkf+4Av7wB+4BdTMclHc/kv9uzmTz717VZjejqBiRUdv/3tb9/87Gc/W/X4kgofyOYDn9laAaeLfS42aPnLLr9Lh9clFnwhh3/FsLhMeWTu8LojsP/M7nWv/5pkJBrJS1I5BpKzhDJBYruNJ1p0JfVwWklJoirpNTYXTl+SVQAl2b7Nh9ZYgWFbtsQn6TsVND7Wks//ZEiYkqiEXeFBE/8xG8lw4QPiYgzinX1FkS9iSvcEvoAZM/LgyfSaEr8+GgWh+Ph/ap9++un6t0uTGa9xtuAjz8Vmcay4RY8WGIuFtmKpuHn4APXj45MCRzYZftfQX3Ax7/fpfv3rX6/2Fev4pj682Sjm9Ct4IFuzfcuPXqHrIW5luvKHtWJntrJRf4eni8Ae7aeL9bPU5IaT7CQOl5vQJWHV10oejTmif8rNWtJC74ZPDxn4S3BaY3onzulMIgee7CVkstD4Or1CIQHjlXSb++lPf7rSNP7+97//ngevhKmVcJ2i2Gbc60yvUiVYOJdEqxUrNuJzNS8x45XY8SXPfHHttAPntaOW3E4gfAXw5JEPyPRL33yk43e/+93qtzH/+ML3fv0BLbx5stisTyYbAPuMFSU04spndOKtZZeWLLRaJyl2KnTsI0ffSSuZ+Pls7FLonMi0v/rVr9ZC5+SoGCW/+LIFrxjTT681Rmud/vjHP75fb3qiR4sPwKEvrity/3j1EdhPdq98C0hgklavsyQMCagkItlMMC954nOhuwskPDIn4AWn8Et8El5yGrN7+/TOPjZv5/zMq18ml5wld4UjG7KnE9c6MT4UMH7fBulGk63HYhR+8kzZipLkHigm/tNEUAwaa5O15c2WSVv/0NwhX7P3EH1z2Sj21qs1V0QroGxUmJ1qyULXQ0U25Ufj5G/tarxda/zt4WRcuy1u7GIfn4rPtW17Lfr3YvdaVvoEP0sqx0hLQgoU2lNgyqxfG3/JypN4r6rM0UeXpCCx4VNw4Eoe0VWUDxWBqa8EmW6yJFx89OsDdGTSoz0kNxuKC7580T8E05bmJ/+ch6eDTeG39ofPvmIGv43JVg+aEq45sj08JDP7arf+zjE5YrldQ7zmyATstIb0WWsygBY/SH9rcAg/HzyiX5nffSQ3/+bcNfrFij18Z/Nzse0a8biGzg8ft69hwa7z2USgpDINKmnMRDnn7+qTWaKLNj3hO53NQmdOsi4hSG4zIcLHHw35Fat0aSVNgL5EuyLe4SToZMHTg46dbMBPLjogFmDqNZbI88UYkDtl5/vb2befFaWJ28Y7vnRmS/gKonnXlFlM4LMdX7LoNWb7jHFrn135MfnM0ZUdtdGaJ8fY6+aKFB62wE9aDwvJaA3mPHnJCB+9uXB0bu00fw1gExtnPLPzGva8Vp17sXutK3+i392kkpNENOGUG7YbfbZkNC4BlLAk8XCKTD/HgpeMvRIDXtXFE45M+Ow07sSDH73x9MUYeLWmKEjAkqTXnAE83goZ+9jmIpc8gC7dJW18aAL2VXDC5W8xgSezImuendoSOF3GeMhzoacv+XjggDiaQw/8zCwoBvjIb4y3+MOxSUsOP9AmDy97xAjOPEiW+Hot63UyUPgC/WTiTycZ2Y0WjVjCmTMGxZwN4RTE4rASXfEju1s7pojVDk8bgb3YPW28X6S2btLanCixND7UopH8trSNk4nG5XQHpy9h+VmiwgPvZ0J+9iM5SpwSnkTnCxrzVxEqinR0Cii5kwEqAooGXfObheb9PA8eaOlkl+SNh1zyO42Sh66CWItev4TMbkWjZKctBsWEHHwlbPN0Nl8hhYdDTyYaMdEH5skw37cjjRUeMQvQo42PHIAWH5lw9GoVG35sHyCsk/URa19kAeg9jIiv/2jh56a+cNM8mvr93Li1oSMc3WIi3nCt/4x59lfkGtNxbRDLHa4bgb3YXTf+z167ZBI8JHlI5iVpckrO+mQbd0lmLkAXvMTs6+r6vlEp6UmOEquELfGZ801NvysmqShM/YqCsX9Z84tf/GKl++Uvf7n+Gxiy0LFBAiVDUvfvhfTZoS1xSq58Kelno8SMDl6iZy+AU0CSreD16wJk55+WDeR0AtSvqJADFBC2kJnPYgHoQO/U1P93U5DIrojxTYzIU8gVoOThhWcHOjzG+I3RG/etS/p9u5LeZPDNrz2wc/7Khxj7Fib+n//8528++eSTN31TFq6L7mIijmJEtjUVOzoVSuMeEHxhJ1vFDl5LDv+Nnyvsxe8KK7Nssh32CByNwJIw/m9u2ab/h7sNcUhG9M0dkgm3FLSbJZGu5JNmKT43S0K7WRLizZJ0b5Yik8ibJdmteIilINwsv5B98/vf//7mhz/84c1yurhZkvJKvxTNlWdJrDdLQr1ZEufNUgRW3JKM1nZ+TP1LQbph+6Rj55LY37OgRweWJPwBvoH5Kbd4TH+i1bIVDx+jhV+Kxs1SDNaY6Jvje3P8w7f8esJKs068+xBHvFPelC/GZC4PGCtHti2FcIq5WYrtzVIQ39M1uZymb5aHi5tPP/10RRmjIxeQLQbpz35z7MoP8q0dOn4shfW9DLRB9I2fQ3vIt+dg12uyYf825nKX7XB7BJYbYn0CR6XvaVp7Cmx5l0S28s62vtOGp3oAtySI9fQFR44n9mh6ZYY2HUuSW08AnuqdBvD35O9U4jTilOL04aTg5JBc+pxO0MFtfTRPvtOM04MWLtDHB+hPPvxSZNYTJ3yv7OKr7UTCJk/9W338ySYnMScfpyYnTnh8/OIfYGs85uhGiycbkqcVKzLFmC3xZjsZbIpfrJyeA+viVPnnP/95jWGxx0emU6fTtF/2x+fESEfxTz4bOnnys5jO+HplbU9Yg+b5J270xqdP97UhG/kg1mKq3eFpI7AXu6eN94vTVrIqeXGgxNPcXU652fFMOCTPvGQ3X6vFg1+SkLzSP4vOTCj6FcVoj7VTPr58in7Om5tJaksz/awg4Z909StG6UtP7ZQFRy9aIAb6ZIHmkh2+OQVK8Z0weWY/GvJn0SCztSnu+VBxJ6eCOWUqbBVlcirs6Zq0cI2nn3O/KNbWNz+jb0xGNupfG3pgYEe26k97jXe4bAT2n5peNr4vXrqbU+LVltwkT0/RbuK7AG9QAk/evNnrR4MHrrFkSadxuCl39pMFN2nD8wVoJdHwkqtxetA0p28ekCkWUza8guJndoqE+XjRRVuLPlBY2KJNh7kSfKeW7O7UZR49fHNwyYFjg9glj/5oa52Q9PFmc3ZMHL8AesAO0BgtOXRMvvSjtWfSYRy92ClQdEQz5UVr7xWvbE5X9Gg79U1d8NcA+4mtror0LIDXsOk16txPdq9x1e/hs8QFJI2ZTMKZdx1LKvHjlUC7yY2TsXau9ME+drFn+piv2X8l8y6uls+tXzEI13odW9tTjYtfsrf+2nTqK17F2fi5xZ49YsHGrvYMeyc42cKZD/KxuGrzMZq9vXwE9mJ3+Rh/lBq6WbuB3eSgp3/9Cps+aFybjLez1/ksEdNewu0VWHZex7Kn0arQAL5L0OIhORcLazRjdF+rkps8+sikyxU+PdtXpffV99j02cPOGYfw6WvPNEbvRO5ni/ksrmS0r+BnUYx3by8Tgb3YXSauH6XUbvhaTrphvaZR5PR9ScINrL99fYVumyQ+ykDtTn1UETj2UOY+AF5N+jWYCpzWWHGz3yvuMyh7oZvReJr+XuyeJs4vVkuF7dgNn2O+Ham4udzI6PtZExqFrqffnmzjvXabj685AU3fi0ftOeszZeiD9sE8KW331+Q7R/+5vDMuZNm7vZacbzF6yPOfJ9D42SKw7/NlK2vr88qwf1wsAnuxu1hoPx7B3ax51Fjrxtb2JQVFzxcXXJ3koo9f60Y/hJ80T9HvlV2Jt4SUXx/7ayb+8j0/52s26+M6B8RXcethZ34r1KkH3l5IP11izw668V8T6Pdlowpb9rCNnY095PHBL72b69dljvmwF7qnX9W92D19zF+cRjdsxWD2cyRcXzEP7+nW70y5sQE60FfV18H+sUfghUZAAbSnPTA42blH+h1GrzYVQMVQUVTUg+6XHqzC7+1lI7AXu8vG98VL78bctjm2fUJV4Hp6d6N7qpcEJIYKpidgN/oOewRecgSc+Ox/bzHa2/zpNa1+Ba2C1/2y/+xadJ4W9mL3tPF+kdq2he7YeOtcdKfit3TXGh+z+1r27HqffwQUNYWs153T4gpeha7xvs9mlC7f/x8OpNLwTbO9ygAAAABJRU5ErkJggg==" alt="" />
不完全类型有三种不同形式: void、未指定长度的数组以及具有非指定内容的结构和联合。void 类型与其他两种类型不同,因为它是无法完成的不完全类型,并且它用作特殊函数返回和参数类型。
不完全类型是暂时没有完全定义好的类型,编译器不知道这种类型该占几个字节的存储空间,例如:
struct s;
union u;
char str[];
数组元素、结构或联合的成员以及函数的局部对象都必须是对象类型的声明。其他情况的声明允许不完全类型。对于不完全类型,可以有下面的形式:
- 指向不完全类型的指针
- 返回不完全类型的函数
- 不完全函数参数类型
- 不完全类型的 typedef 名称
除 void 之外,不完全类型在定义或调用函数之前,必须声明它。返回类型 void 指定不返回值的函数,单个参数类型 void 指定不接受参数的函数。
由于数组和函数的参数类型重写为指针类型,因此表面看上去不完全的数组参数类型实际上并不是不完全类型。Main函数的 argv 的典型声明(即 char *argv[],一个未指定长度的字符指针数组)将被转化为一个指向字符指针的指针。
具有不完全类型的变量可以通过多次声明组合成一个完全类型,比如数组str声明:
char str[];
char str[10];
当编译器碰到第一个声明时,认为str是一个不完全类型,碰到第二个声明时str就组合成完全类型了,如果编译器处理到程序文件的末尾仍然无法把str组合成一个完全类型,就会报错。读者可能会想,这个语法有什么用呢?为何不在第一次声明时就把str声明成完全类型?有些情况下这么做有一定的理由,比如第一个声明是写在头文件里的,第二个声明写在.c文件里,这样如果要改数组长度,只改.c文件就行了,头文件可以不用改。
除了 void 之外,C 没有其他方法可处理不完全类型:结构和联合的前向引用。如果两个结构需要相互指向的指针,则唯一的方法是使用不完全类型,例如:
struct a { struct b *bp; };
struct b { struct a *ap; };
不完全的结构体类型的重要作用:
有下列代码:
struct s {
structt *pt;
}; struct t {
structs *ps;
};
struct s和struct t各有一个指针成员指向另一种类型。编译器从前到后依次处理,当看到struct s { struct t* pt; };时,认为struct t是一个不完全类型,pt是一个指向不完全类型的指针,尽管如此,这个指针却是完全类型,因为不管什么指针都占4个字节存储空间,这一点很明确。然后编译器又看到struct t { struct s *ps; };,这时struct t有了完整的定义,就组合成一个完全类型了,pt的类型就组合成一个指向完全类型的指针。由于struct s在前面有完整的定义,所以struct s *ps;也定义了一个指向完全类型的指针。
这样的类型定义是错误的:
struct s {
structt ot;
}; struct t {
structs os;
};
编译器看到struct s { struct t ot; };时,认为struct t是一个不完全类型,无法定义成员ot,因为不知道它该占几个字节。所以结构体中可以递归地定义指针成员,但不能递归地定义变量成员,你可以设想一下,假如允许递归地定义变量成员,struct s中有一个struct t,struct t中又有一个struct s,struct s又中有一个struct t,这就成了一个无穷递归的定义。
以上是两个结构体构成的递归定义,一个结构体也可以递归定义:
struct s {
chardata[6];
structs* next;
};
当编译器处理到第一行struct s {时,认为struct s是一个不完全类型,当处理到第三行struct s *next;时,认为next是一个指向不完全类型的指针,当处理到第四行};时,struct s成了一个完全类型,next也成了一个指向完全类型的指针。类似这样的结构体是很多种数据结构的基本组成单元,如链表、二叉树等。下图示意了由struct s结构体组成的链表。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiUAAABlCAYAAACSqpOuAAAgAElEQVR4Ae3dCfS9RVkH8BfF9rQUUkH0/0d22REQUEEUF8QFzTbTMFtPWdZpOZ2s1DyeTmWlHT2essWlMiuXLHMXEEEEFEOQTUBELTHa98X+n7Hvz2F672+997fcO3POvTPvrM9855mZ531meff6wh4zdNMR6Ah0BDoCHYGOQEdgixG4yxaX34vvCHQEOgIdgY5AR6AjUBDoQklnhI5AR6Aj0BHoCHQEtgUCXSjZFs3QiegIdAQ6Ah2BjkBHoAslnQc6Ah2BjkBHoCPQEdgWCHShZFs0QyeiI9AR6Ah0BDoCHYEulHQe6Ah0BDoCHYGOQEdgWyDQhZJt0QydiI5AR6Aj0BHoCHQE9u4QdATmEQHX7+y1115Dew1P/IVNMokTe1K8afj/53/+5/A///M/q84KTf/+7/9e6lXXYe+99x78WnOXu9xluNvd7tZ6b9ozehk2Wupn9Nd1CFHwiH/shHW7I9ARmG8E9tozSPTL0+a7jee6dvUEVlc0k5lwk2FrarZP3DbOWp9rAeO//uu/Bj/l1G7Pf/M3f1P8//u//3u48cYbh3/5l39ZmrAzcaNJ3NSPfde73nX413/91+Ev//IvS5513Pvf//7Dfe5zn6W6pn5f8zVfM+zevftO+QeTr/u6rxu+7Mu+rFRTeV/+5V9e4hFulMWPQDOG3yRslDsJz4TFlkfqFz92XV78U177HP9udwQ6AvOBQBdK5qMdF7YWJqnaZEKcxeRFQ0GQIHzk97d/+7fDP//zPxcB4lOf+lQRMEy0n/nMZwbP//Zv/zZ89rOfLcIHmggBD3nIQ5Ym/+OPP374qq/6qiUBhDDQTtTqZ6LmL+6uXbuK0IAW9eWPjs997nMln/hJ90//9E9LQkywYUt77bXXDn/1V38lWqHrpJNOGr7yK7+y5L/PPvsUzcsRRxxRBBPCjbLRoQ5stEaAiXBTMhv5W649lgurs1ptvDpNd3cEOgI7C4EulOys9urUbgCBlSY1kzthI5oNAgVBxIRPm3HTTTcNn//854cbbrhhuPnmm4ugcfDBBw/7779/maAPO+ywgfZBOd/wDd8w3POe9yzah6/+6q8evvZrv7YIEAQCE3gEhGgnVCv0tXYdJt3Ycgwhw6816qQOY0Zdk4Zb3dT99ttvL3WW7tJLLy2C1W233TbccsstpZ4EKfW5973vPaj/Pe5xj+F+97vfsO+++5a6fcVXfEWhMUtKhJf1mmAxln65sLH43a8j0BHY/gh0oWT7t1GncMoImMz+4z/+owgabMKHCZnwQcNhAv7kJz85XHbZZUXTcOKJJw40B8ccc0yxLZMQPmgPTMDtUgfBgZ/fTpo4QysBhdsPNmzCC4ElWhm4/cM//EMRzuBG6/LRj350+Md//Mfh5JNPHg488MAirNG0wIoQQwAjqBDKCFYbEVawROidMnv07DoCHYEtRKALJVsIfi969ghE+2Fy9TNpWrIgdHzwgx8cLr744rJP45RTThkOOOCAsv+C0PH1X//1RQCh5Yg2I/aYpmKlmuyUCXQtdBJSCCswJqTk99d//dfDHXfcUXC+4oorhuuuu65omR70oAcVfAkqsCas0DLBlXAXoWUlLHt4R6AjML8IdKFkftt24WpmQjUx2gyaN/lPf/rTZUK0DPHhD3+4LKkcd9xxw+GHH15+++23X3lrz4Q4jSWHWQG/FoFhVjSsNl/CCo1LftrDBl/7bz7xiU+UpSCC4QUXXDAccsghw6mnnjoQVnbt2S9jGSiCij0u3XQEOgKLg0AXShanreeupiY8ez1MdDZ02lB6y559D7Qf3tDt6TjhhBOGI488sgggJjubNU14tB3sWRtaBMs5rUDRPk+Djkl5TvKvy8weF3GZMZrr+BtxE1C0HcFF+/3d3/1d0VxdffXVRXtFs0JzddpppxWBheYqS2URHjdSfk/bEegIbF8EulCyfdtmLijLJKcymRwzAa61giYxWhA/b93XXHNNEUDe/va3l02XD37wg+8kgFh6sSxgD8NKp0PWSkuPP10EtK2NtX7a1xIbIYVwaZnNplqnlo466qiiTbnXve5VTgrRpCwnXIbnJlFbh9du8QmU9fHkSXl0/45AR2B6CHShZHpYLmROGchbO2DwZ1pBhL9fBv2kTzp2VP80ITZTOv1yySWXDBdddFHZj/DIRz5yOProo8umShOTXxdAagR3tptGhSbF7+///u+LNoUWhSbMxlpLPg996EPLCSB7VGhTCCmW4MZMK2TUvEkosvG2jTOWT/frCHQEZodAF0pmh+3C5DwmUIxVvp4EJoXbjJrlmFtvvbWcgHn3u99dop9++umDuzRcBnb3u999aSkmgk2d52ppqtN09/ZGgOBAUMEjbMt1V1555XD55ZcXQYWQikce+MAHln0pNGWE1LFTPivxh3C/Md7a3ih16joCOxuBLpTs7PbbcupXGtxXItDk4mipUzEuG7vqqqvKBGPC8RbsbTh3YXgL9usTxUqo7pzw8E/stVAuTbQpeMjG2Q996EPD+973viKMPOIRjyjHk912S0DBO/XJqUllZh9Qq91bC209bkegI7A+BLpQsj7ceqoKgUmDexXlTk4TCW2IG0jdbfG2t72t3Dp61llnlQ2O7rhw+Rh1/NiG1K5ivxOcO/5hOf5pw9rnuvLC7Eex6dnm2Y9//OMDLdv73//+AW9Fi+LOGXuN8FcteGQJp86zuzsCHYHNRaALJZuL98KWZgOjicLeEN9u+dM//dOiITn77LOLIOKEhTdZp2Mm7QmYBF47UeW5Cy+TENtZ/mnPluraf0ygwHOWenLJm8vwokU588wzh2OPPXY46KCDysVu+K4WUNqy+nNHoCOwOQh0oWRzcF7IUkwI3lpdW06tThCx9JK1f0d088a6FoDqyahOxz8mcfpEE0S2p512Wom6Nl6EkNo/7jFhVBgtik2zbu+1UZYGxf01j3vc44aHP/zh5fixm2cJKN10BDoCW4NAF0q2Bve5LdXAb2nGkU4nZSzNEESe+MQnliOdlmVoRAgjqzVZ4x+LT+jIZDQW3v12LgLalanbdy1CZp2uRcHJLryaK/Lf9a53lU2zj33sYwdalHofSpu2P3cEOgKzQ6ALJbPDdkfkXE/4qxnwM1HUcaMRsTn1/PPPH/7iL/6iXNP+hCc8YXB7Ko2I9ft+V8iOYImFI9J1+QQUd9/YaE2QtmmWBoVWz9JiPjcwBs4k4af1H+s7Y3HqvjVWXvfrCMwzAl0omefWXUXdJqm6M1hmgGzjGcidmKEKJ4i8+c1vLoLIU57ylPLhOt+OWW4gXwVpPUpHYNMRwNc0fQQUF7e98Y1vLCd8zjnnnLL3KRuwJwnY7bJS+lEEEjbNYZ7Tvza9or3AjsA2RaALJdu0YTabrLFBkh9hpL7nwYBNGHHbpjfKm2++eXja0542+JIuQcRn7Ne6UXWz69rL6wisBgGnxFza5uOCbpV9wxveUC7tI3gff/zxhdfxe/qH/rKSkFH3s9XEXw2dPU5HYJ4Q6ELJPLXmOurSakA8M/VdIBmcff3V2rtr3V35/ZjHPKacXvC110lvjvXAW7vXQWpP0hGYOgKr4UlxLO/YtK0PvOc97xne+ta3DoceeujwpCc9qZziIZyM7ZNq+1ddgdWUXcfv7o7AIiDQhZJFaOUV6mhwzABZv+k5qeAt0Tq75RlHer/5m7+5LM/4FonlmcQ3+Mojb42KXG5AXoGkHtwR2LYIZDM3LSFt4YUXXjjQnhDS8/HA1RCfPhd7NWl6nI7AvCPQhZJ5b+EV6tcOiNbU3evg9IwNqy6fetjDHlYun3rAAx5Qvryb5ZkxoUN+frWmZQUSenBHYMsQwMMRrBERd9svxggUx3Imwd3x4te97nWDj0I+/vGPL7cQO148SYM4ll/36wh0BPb0wT0d60uXO3REFhaBDK4f/vCHh9e85jVFFf0t3/It5au7tCL13Q31gG1Qj2kFkTpe4nS7I7DdEMgQSCCp3aEzfDwWljiWOGkSXQz453/+58NnPvOZ4du//dvL6bN73vOed+o/SeNyt+W+cJx43e4ILBICXShZpNYeqat1ckd5XWxGM+IYpJMGBBHHeKMVkXRMMzKSZRnYM5DXb57i5nksXffrCGw1AuHb1m7pmiSg6CMEfEKJfSf2X7n7RL/af//9y4ckCe82i7/oRS8anvWsZw2HHXZYyT5ltmX1547AIiGwJJT0DjHbZm/xbZ+nUXqdZ+0ey9sSzS233DL8yZ/8Sbk06rzzzisfv/P1XZebbQezUh02i8ZJwtgs6JMn04W3zWrd2ZVjTxah323GlnYs5zz96U8fjjrqqHLc2Km10047bXj1q19d7vJpKZkFfy1XRl3eJJ5v06/0LE+/Wou6nrzlAU+biet9a8uVX9dnuXjTCqvLq93Tyn9e82mxWhJKcr5+USq+2fVcT0dcLY1toyYdfyYTnDZ2xPG6664b/viP/3hp4+oJJ5ywLY/yTqpX6rdZ9nahY7Pq28uZLgK508dXsC3tvOMd7yjayeuvv75M1t/93d89/PIv/3LRTG42r9Xl1e5pzQfJM+MfO+NR7NWgTSChWbrvfe87PPWpTy12nT7l1HmN+dXh03ZPC7Np07XT8lsSSnYa4Z3e1SOgc1rv/shHPjL8/u//frlrwSmaQw45pAgjq8+px+wIdAQ2goC9J69//euH7/me7xnsKWFoJn/2Z392+NEf/dG+MXYCuJa7HvGIRwwf+9jHylHs5z3veWVJzBJzN/OFQBFKTFrWQUn0K0mfO636JHMSLPUhtZ+6boWBqx96pmnUq803fr7vYeC74IILht/8zd8s9ymce+65w/3ud78lzQh6tgqT4JDyw3ue48aTaLS3JX5Jt1l2VM/Tbjv0O51xt7vdrXzNNvkHD+GrqXPwWms6+XezOQhoW3zkkwzf//3fP7zpTW+6U8Em11e+8pWDTzNox7ot7xRxEx7wHFqNm9M28vYLz2asUlZ+dT9ws64j2G6O/qZv+qZyMhBNNt4/6lGPGn7yJ3+yvFzVe9+mTfNq8ku9Qvtq0qwUJziFdzzHBL887zQ7/K39XS1RL8nttafCX7jxxhuHF77whaXx7QZPhYGRxDut0qHX3glqUwx/wAEHDK6JjtmMugHbxPq5z32uTEBuPdUQyt5o+drHcgxmtV6tY8qbqjPHemlINLoLzpR9r3vdq8TT0WEiPhOaNhOblJVO5xle6GIcS3bc0qR94IEH3umkQp2mRJ7BH1zRYkCEr75Rdx401APFWkhI22uXww8/fLjsssvKhKUN0y7yX8koP3TI0zO7bc+V8unhs0Eg7aBdvSTYY3L55Zcv9f3wgTCndGwwP/jggwsPSGPs2AwTvmErU78zVmR8WC8NqYN8Uhf9yfew8K1xyIsTXIxVXo4JbujwI7Trc/w+/elPL+EWelxap2+6HwZuypEufSLxZmUrT1nqADN0hHZlpn2XKz/9VhxpkwYWN910U9kcvd9++xUchPkpc6NtsxxNmxFmnKMlfMYznlG+MZX67C1AJ8Ecp59++tLRtTRqANoMImdRhkY2SVvHNQHYXAYI9duMuumUOtxLX/rSIgykfHVFw3qNjirfV7ziFUvf5pCfjnvxxReX69+PPfbYcm+CAYBgwug82ryeXDMJCq8xkV8YRdisjDLRk/KUSV3raDLNjrsfDE7iac/QL77nWRltZ6AksPtqrNs7bbRTbo3TespXX3W0l+CjH/1ouSHXclraRRlrMRnMgsdG6VtL2T3uZATwcng2beSitbRP/PCa22Lxw3Oe85wyaYuD12dt8Bq+Ux56b7jhhuEXf/EXh1/4hV8odESYWC8dwcDLxTXXXDO8+MUvLuPw7bffPtx2223l44deFgnn7kIysWdDqzSWvHyHyIbg0GgMJ8Adc8wxhcb3vve9pX8SpNCrzNjrpXs16eCmnEsvvXT4vd/7vcH+IMJl2jf2avJK3cTltkGawuDJT35yyTPjNBvfzHr8Ww3N642jfcxFrqBwx48N37l2Ym+VVznM4JIsk9dmdIT1Vmat6XT2SJw0BWeddVZh+LXms5H4hAenXHQkKseAv5E8pSVIummV0KVTv/Od7yyN7GbJn/mZnxn22WefpbJ0bEYnwhBhbO2fgbFE+L+/+Nd+s3C3nSv0eZtyW+bJJ59cjlSKtxXGp+0JfgSGRz/60UU4mhYdhJJXvepVRfA54ogjyukn9Y9Aog3WYtp2TF5rzWctZfa4yyMAez9twdb3mPC9Z27jFI2useGMM84oE/PyOc8u1LhB++Al1cbSjZj0W+MNAf/aa68t2l0bfn2qwl0uRx99dJl0YUQIYTPw8mycc22BucnvoQ996NL1/vCTp/1y9px4AdsKQ9PlCDgaam38emlRd+PABz7wgaUPQcaPvdONdiOU4AnzV8Y89drbnwjpHBgCI+VXRxZ3pxn1yU/HT/02sx7KVHY6XDrqRmkgaPjZ/OUNi8Dza7/2a6WD51KmtB9Ng3LD0NE8oEEcNCYuP/wgbuLzm5VJmyhLucELZn78tsqElmm3nfrI20/eft4O1bfGvHbXGPDPT7tp29jiCSMMG8SD36S86ny7e7oItJhr57Rbxljt4yeMHx5gb5UJX06LDhMP7e0f/MEfFM0IgeflL3/5YElCGcYi9ce/NV7BAj20Jz/3cz9XXlJoQ7zgwYuWQh7iTIve9eCuDsqfFg3qrn5pi9QVTjASXmO1Hpq3Mo16EFTVj7vm9yKUqFwYorbrQW4rK7CRstOIJFkMrE6bbZRJeMCwbfkapm4U4Z6XM+piA9hrX/va8nEwHdbufdouwog8SKFM3dh1nsqtzRhddfgs3alzTSue1F7qmk44Sxom5Y02NLBbjPKc9konm0Rv669DqrN01sxph+TpOeWJw4iX9MrDS8L4EWa0ewZEcWl4fuVXfqW8VXp7EybflNfmP6n+3X+6COiXaUs5a8tMrGlf9maZlFmXhz7jVeiIHbrZYwZPpS8IJ4zYZG9ZQ5pnPvOZ5dizk0cEC3ci4fv08bE8hTF4GL+bnBn+aEx53Pi7Ni09ddi03dqwxiz5p8+FzvjHrvGv6eWvjqlTPXfFb1I7JO/tbKuferBrDNBchJKaeBHmyaTS27VOmDWNwm6ZN2Hox7QmLrevOtp73HHHDSeeeGLp6PY8UP2OdYztWvd5oqtuu0mDBX/xqKMNxm79pJZma88//MM/LJt7LeswddvXWGlnanVqdpu3rcV764zaXbj9CW95y1vKG+pBBx007Nq1a2kyREf4rs63uzcHAe26U03N2/Ukqj4Zu9TPXUjuFaGa/87v/M6yNYCG5Oqrry58bcKtJ9pJeAQrmghGmpialsRL2FbYYzSERmHcsUNf/Rz8Elanjd8i2P9PKFmESm+nOmK8MF9sHY87b9LoJYzYEPQ7v/M75Uivt2AT0U/8xE+UCY7UaZCoO0by2071nTdaMpAEa22gLfJGp76e7WtyIurKK68cLrnkkrK51SY2b5OOg9qzYo1dmzpRID9tGeEhz/KTxskkgsett95a7r1wuovGhJBqg7PTPJZvlPmSl7ykbFq0lCPP8Eg0LfLspiOwVgTC+wTsaDGMXbQjlmd8O+vMM88sWpH0j/CesuK3mnL1q51o1LGuJ7e6+NFeBsOdWLdZ0dyFklkhu458TV5XXXXVcP7555cJxq5rb70mmN/4jd8ozP3c5z63TDp2eBsM0slbxle8sNp/HST1JGtAgJBgs/Ete67vt4GPgGEZxS7697znPUUYcUfMKaecUoRJ2o4f/MEfLKdwbOg99dRTy/q6NsMLbdvy96P6phkTx+BGO0b7QuOCf5xSwDMZyJ1McIOvK87laSCUtvPGGhp3gaO2fJJxBQ/Zz+ZlifGNH6dQbGL1skRAJqzUBk/iv/BgHTaP7hY7LxG+vG753cb5I488smAUTOcRg7XWqQsla0VsyvF10jCuD+I5Dkilz+/Xf/3Xy/0civThLrvhTUgMJo5GhdsvpnbHr9uzQQDW2oqmwi25BBDtQgggVDoVQPVsTfzZz352ESZoNPwIlcKkz34Q/OCXNg1voL72M9hLw9CAOHVACLKUQ2VuY2GMcvCSD7+ddNJJZa3apND5JAh1ezkEwuOJgyf5OR1nvKK1w48veMELBif/HPndtWe5sObXpGVHmMaDi2Rc12AMuOiii0ofdziBxtulcLVmNZgsav/sQkk4YIvsdEwTid3p3rJjnOnfvXt3uenRhJO4OnX7BiJNBoHESz7dnh0CBmjtQQghCGRjnk/Yu9jOTbreGGm8si4eamg4pG/bUvvJUxh3PTjlWRgjjBAkLycShKOjTiMejY27cgyCjixKk7yEd9MRmIQAXgq/JY7lSCf9PvnJT8arCMPGK1o8pk2TiPEnfC+KgSEh7sILLyx9Vb29yFjmevzjH1/u0FoULFaqZxdKVkJok8JNEs7bt4a6n5rfBCKOt+N2EmvT6ABjA0kbrz9PBwGDq70bBIna2Ctin4gNfmPG4BytSMLTdhmw2do+JuFsJs/4An94a3WqwV0O0kmPX9DmbcxFbdb5GWGZIIpH/+sIjCAwxiP4jmBSG/Fo5QjmuZJAvDq9Z3zHrvm6zmce3XCx+dfLQ228uMCjmy8h0IWSL2GxpS7q/Cc+8YnDxz/+8bI/ADEue3P3SDp11PU1oTr3mJEm6cbCu9/0EDDZu5TvZS97WVl6k7NBOTfALleSASmDNFubZSBP20bYGWtPA3viSe80jo2t/AgpBBI/z37c0shLeDcdgfUggL/PPvvssqckwonxys2crUawzh/f4b95FEjG+qc+aWP6u971rqLBpDGlFWdg+LjHPa4s5dYYxT2WX8Lm2V4SSgAQhskgaRDb6cyTemnErW7ksfIzWejIvhJKonaun4r9e7/3e8sHulZqg9SxtuXLrJS2RNrCv0zEYySgfQyzsbiz9AsNsVOWZziznXj5pV/6pXIMUhsSMH/kR35kdK046dnSpp4RGGAytnzTlp98QodnedljMsnIO/17u/PGpDrMk782SB/Q5um3m1VHvKP8lhdqXqvdoct49QM/8APlzd8VBbSC55133tLty8vVQ1kJH8s7Zaxk12lb+qWtw1fKaxrhacvkRRixXOM+KdpSe21sRneFv42u9pz9+I//eFl2TZrWTh3YcYsTd+w23XZ/butT01uumccgOkR+ScDmt5ONOmQQbuui3ukcs6pjOiAaxsoP1srHuG4t9OVL6UjVtCPStiYdQFj9S53km3Zt026n59CJ1hqr4MUWlnhsfpth0MOEhrZczwQJhu0I5DnnnFPozWbWNk2JvOcv7Zc2Ei/8wZ3w+CXdauyuAVkNStsjjvb3i1YrfI66hM2SUrxmjFGWslMuvuPHhIdr2vjbdP/TP/3T5aSN54xX3MmrTsufCX8qYz38/cVcvvifPirPlCkk2KUOdZppupUf7CzNwNJSrm+62E/G7zu+4zvKcqpvr6mvMYJNUwIzGIXO1AeN/NVLWHBK3JQZfKdZp83Iq65T3W7K3jsebL+AHMISnuedZtf1aevSPs+qbsF1rDyN48cIz2QWWsJ8ea5t8es862fMWofV6baTG41oHWun1Cf41HRvZt0mlcW/bj+CiTtGYpZrO3GSr7rHzfbbKe2XunZ7fQik3cP/Na8nbH05ry4Vnk3/Swo0hB5+NR21Wzybq/1i+PnV8Wp3wtg13yf9Wmz5yiP0yzNGWMqK36xsggMaCCSORPvOGY2IS+POOOOM8tkPdDLwtucrJjSnHvGPLX6wypgQPGMn7k6y0Z5fMAj9ZflGxRMhAZ4DZPx2oq0OmEUdx+qjnpthlIOG2qTs2HVY3CuFqVPqlrjstqzktx1t7ROjPm2d0m6pX56TZta28pTdlpvn0NXSMck/8YSn7filnJS1WYNq6On21iCg3fGBn7av+aZ2z4q6tozQk37Zhi9Hh7jLxU/e7PyWy2+5MOW0+dXxhW2GgRPBzD1FvqzsS8H2ithjsxINNV5t3PCD/FPXWjDh107om1HfaZShrn5jY1yZDRLQRgTATjdpdHXTyFtllI2GaZowqnxb905hVnTjM3Vo+RBm6ZDTxG09eU277UJD2g4OLY/slDZMXbq9dgTC/xEAtkubo2saps0nfC5v7o30qzp98JsGzWvNAx2Wafbff/9yyeUDH/jAMm6tNZ86fuqWMQFONDKehTHs7cIvNe2rcatPxr62DncSSjSsSicSeyNMsxriZh1HfVIn9bGOt9nGpjATr980y5evOvml7ZSBWdlMGHiz67yW8sJnaA2zarPUZS15TTsujBm0jV1wtJHy0n7Wi8OnaS82/53e/zaCzyKk1b7ZD4EHZsFna8URHXhvFhO9+ibv9PG10pf4sJJH8uTeKgMrR6Hd0TIt3NTPGKh+6ua5Nu1zHbbd3alT2swcELOkN/cRMDeJ2niTiS6TRSLvRBuDOILlPDgAXPYzTcFgNZjkuyc6o/LrNdjVpJ8UR720m9MeaTsdI50U0+4Exo3wgVa0s7WXb7fcfvvtZaf6WD3UNcLXJIw26h86XD72qU99amoDDrrUTxualOzGtw6tnvodXgkeG61DT799EdDG2t9eMup/nwu47bbbSp/eKqr1OWPWLOhQR3m7OAyP68PrNekf+o6+hF74TdOkDHMHeo039QSastRHXW666aayhyT+G7HlaXyHmbwzL2fMQ9tONWinXdJ2TF2XvfZU8At/9md/NvzwD//wKNg7tdKhW2U1pk+Gm/AIJDUAwvLcuus84h6Lk/SJ09rSmHzEI5CsJn4bJ+XGVkby5TaoScNvXow2MxAQuiKspG7q6bRSNBnxZ9cYjT3XcVdyGwAMorQk4Z02/zqPSWGtv2fGhHTCCScMboBV124WE4H0XZMrvsbvYyZ8JDyTU/za+PEPrwnPuJKwNo1nfIjnHfMVP3315T4AABuJSURBVLQlrThJP2YLZ8biy1sdHVtXh5q2L6Za278y5EkYQW+LW5t/XZfQnhLb52gn0OtnjPXS3pYhPaHBOJV6Jc/WbsvIM5sJZp6NDcZA5U4Dq5aW7fL8Qz/0Q+UbYNFE77Wn8l8A6NiNlNuF6GnQEUZqB36NXzNC7U658fPcxudXh3seM2FwWNfx6/ySbjm/Oow7DdnWK3ntZBtmPu71fd/3ff/vDUjnd7X7cccdV6oICwa2NUb82md+azEwNgEE4+XymxTW+udZ3gQrA1ommbXQ1uPOFwL4wRvkJINvGJMVvjGu4Ut9pTXhsaQRL0sLeC0TXT0eJQ905O1ceF1G8uOffGo7fTBjrjxDizA0mHCnZeSp/uhtTWity487dtJ4RrO8uGlJaSlcfOa7ZK6Dd+y/Pj2TtNL5rVSvsTKDl7y4GfHQIc+MO/FnJx73TjbqR5gkeMUUoSQP3e4IbDcEDDS+1/L85z//TirtRz7ykcNb3vKWZS8K22516fR0BKaBgInPV6d9U8nXwruZLgIEPh/P+6M/+qPy8Txf/PZBTVhHqJtuiT23GoFxHWEdYwHcpFImEmmeU/U8x45/7En+bfhK8RK/tdebrs1nJz57Y3OzrTcUUjXjDcKb2Qc+8IGyD4OWoTbCalPjN+au/ep0rXu18ep0dZpJ7jp+d3cEWgTwM97J+MS2nHDHHXcU/za+Z2nsM6v7Qs1/Y2mW86vzmRQv+ROarr/++hW1BpPymbY/utAU+mLX5dBOwfPyyy8ffuqnfmr4sR/7seGoo44afvu3f3s499xzyw3bkwSSNr+Vnuty67iT3HX8RXAvvFCCEaIKi9ouz2EAz4mXgSFh8a8ZKmHsOjz5tOH1c+uu07dhKz1PommldNspXB3chPiiF71oOP300wtprnD32e+PfexjZWnnda973XDjjTeWTWEiRHhJW9XtOeYea5dgEAzTDq3/pOf413ZddvyTf5673RGoEQjfsY1P9qaZQOtlYEK5SdcvwoM9IW9+85tLnwiPCZdWHNqA+Kc8z8IsW4gnfvqQPpUy8hIgTDkMupIfP8sd/GISlmf2mF8dPg23+uh3BAq2Z/WIUc/Pf/7zw3vf+97hOc95zvC7v/u7w1Of+tThVa961fDoRz962HfffcsyGVpbevNcjx/80s+Tpg1P2Umf57F4iRNb3NqdtPNk33WPWvz581ShtdalZgQdVefj51ebPGfCwxiJF3cdP+6ka+02PM+tPSldG2/sOWnHwnaSn8GPYPKgBz1ouPrqq8tbjK/gHnPMMcPDH/7w4dZbbx1e8IIXlJ3c9prQrtiUahBfzqTdWrtOEwxjC0v8sXhtWJ2uThv/2HVe3d0RCAL4w0Rq3HEC7H3ve18Juvjii0t/wO++PWMDJs2IPRC+m0WT8olPfKK49Qfpr7rqqnKajUDz7ne/e9i9e/edJlxxCCS+vWW/ijx8Vdr9G/J1GsTeQ9oEXy/3RepXv/rV5RjsW9/61pKfvQHi+rDoAx7wgLJpVx3G+HzML/Welq0MQoiNsOrk2bhAsIIXYeSFL3xh8f+u7/quIpAcdNBB/29Dq3ShN4JOntHKnb4fu06TuLHrOHVdEz7JTll1mnlzL7ymJI2sA7oe2JHdMETd2JiIwZBMHad2l8B1/qWMdSafy2SwjXBx/PHHl0HQ+i5jIN61a9dw9NFHD0ceeeRw8MEHlzec5z3veWVzmiO2BM0xk0FBWNov9lj82q+O17ZZHVanad1JF7sN788dgSCA//ExQcSHHw888MDhsMMOK2//wlzWde9737uc7Lv55puLdsMJHnsg+OcUjQ2aBAVGfjWv5mWLRkG/kv9+++03XHbZZUUYetvb3jbss88+RcihAfG7733vW06O2YxOi5kNoL6J4zZT5aOvLid12kybcPbyl7+8aHXQ7Zng5cSpvSP2rPkYquUadQi9k/pmsMpckLokXWz+k/Ko4yT9cvHrOPPu7kLJ/7WwzuONomYiTJdnTIShDQxRX4Y5xGkZNGGT7MRP/uKFUfnV/nXc+LOpSb291OrISeXtZP/gYTDwFqOdYoQZpO9zn/sMZ511VvkCp2uer7jiirIXxeBjoPaWSU0bE6xhG3wTtpxd4y9d8kmahHuOm51fy0dt+uTT7Y5AjQD+sdRAUHCtgPGKofUwsdJO0GgQKsJ34kQ7gM9oOWgwaBFpHsd4L+OgdPIytuBzaW+55Zby0kbokId+6IXAGCS/TNZsebfjaV2fzXSj190rtKyvfOUry9eN1e9lL3tZGSOMKeotvB7b1YGWNuNDcA3tqW+eYyceu8U4eSVu/cwtvna2JwctySvxF8FeeKFEo9vg5DPTYSId0bOJDDOHMexbeP3rX1/UlpiVvzcOccT1C5MlDbt2YyppqQ51dGWbLBMHQ+ZNBB38hZtYqSANQIw4Tp9ce+21S7SXgDn80/mDa6oHF3i4fEfnhVsGYRqTZz3rWUVAEf+8884bnvGMZwxvfOMby96T5CW9dtYG0qcNUkbs2l9ZME9714MYXuDPZthpN0tMWX/3plbz0Vg58et2RwAC+oDJFX/R6uJbPGsJBZ/RiBhXIkRkMhSX4IL3nNgxAdOiiCc9k7jc/JNHxrjwP8F/1x7NpFM/lo3k6X6dJz3pScMFF1xQxiR5MPJ08dfYmPjFGLP/N77ad2ap6h3veMfw8z//84V+wogXGB/PtNxkPPjIRz4yXHLJJWUsQJk6w85yljoEq5pq6YJNbNjp88Zn6YwxMdpJu2V8gK/xXBn8zQnyIWA6+WPMqMeXlJH85tVeaKFEI2MKKkqSs8kfo2UXto6FwbwJMLv+b6mAGtMEiAF9ohrjiUvFGYZLR48tfdwGGPGs13JbJ/aM8Z2Jlzc65GdAYd7+9rcvCTDK9bZkcLC2O+mtpySckz+Y1J0S5pbb+MNNmxkE3V0CU2pYp3NsWuN39tlnl/gvfvGLywDqre81r3lNeePT9gaksYEHfGk3bgPJO9/5zjKQKJugYwAiHN1www2Fj6y5e9aGNDYGG29hyYcK3X4Yk4w8YhKunnVdE97txUMgvEAzYfny/e9/f+EpPG7CMhbhMzxmz4iJ2GSIr2hOLrroovLWLf0pp5xSJjwvVwzh2lhSG+lN1MYdk6W+QQBxAu7KK68cPvShD5Uy9AM8beImEBkjo4lUtiUjWmX5ha/rclZyr8T/6jwWB10meMLSs5/97LIRnsBknPzVX/3VsuRkvDR+WnYyjsDyiCOOKEtO+co3/ze96U1LtBtL2vFButQtNjyVbelY+Gtf+9qCkTaBO+2RMSFzClo9p03kY1ywfGZ57E73d+wJWwSzdM38IlS2raNOTag49dRTSyfSuXQoTHvooYcWVaWOiUEZDGW9NRMJ9SZmNil5+yXh1h2ldtdl85fHAQccUPLk9sZjgEnHFv+aa64ZHvWoRxUm1VnsaH/6059e1Ko6pY6VvOr8hekQ82DULx2+ro866ugw0A7WsLWN+0v4w5OQYjCGHaHEpliDlsHGaZ4zzzyzDPLS0XbJJybltliixYBrwDAAEUQMzAaWk08+udCjHQ3YNuMq46Uvfenw5Cc/eelOFeWgqy5PuSkz9c1zaOr24iEQXlBzGg4XePE77bTTyhiCh/CW/k7YJbgYpzwTfI1Pxhd+xjn8zxx++OEln5oH8Ru+fspTnlLi61vPfe5zy8SoTLzMlkae9rcw8n7mM59ZbM94G536jrDUIbY4McqMER6er+PGTzz0q1s7vunrXkyMmV4UCGn6vSO97Fe84hVFSCOoEZQIAcbalE/4Sr2Uow7w8nKRvBNXeO1uaRVGCDI+mBOMDzQxxgdjjRM91113Xcl/957Nxui1n8VSGKNuoafOuwQuwN+XRuEFqOxYFXUck4xOxo3po56nicjnpzGan3CMIi7tBpUoZiLE0KqEiYSn49QMHBrEy+AhbvI3oepcBoRv/MZvLAOCfDC5N/DkJY1fykt6cVNuytrJdrBWp9RVfTw7ZaDz6vzCCJneih7zmMeUdquvboe1wYDgaQ+Ke0+oc6l2bZI1CLkdloram2HKGsMyg5dy/RhvlgQh8QklBj9u9BFy027icodm/IT3mJRZHkae49/txUWgfnMOCni3NXgMX4W3hOPHMX5OWvznh2cZaY1DMW3ZiSc8Ycqt80ja1dhJK27tTtrUKc/6OwGDtpuG2Vh8xhlnDK4tt8nWWHDIIYcsLYGIe+mll5ZTS/yN1zHyZtBuXPUi6kXjnHPOKf6WUvTVGPFiWlrhZozQxxNGy0J7IowmxDjDDUOCpBfb0MDOPBO/uryUO6/2QgslGMckheEwManYOikp21sHpjHZED4whx8/zI1pdFgCjI4QJsRc/HX+mqG4a8bKpMQ/g4XOQJI2yOjk3owYkrpJVTmWfB784AcvvYGgLfS1A8M8MG09adf1gRXVp7YwgGg3bVULhgYt6WEMb21DQDAQEETdd0LwlIY2w5FAa82EGlosS0DBNGWnHdlo0O7axhsPOrSl9mMrz8bCb/3Wby37f6zn54QCGrSrOAROfFXnjVfynLK73REIT8SehEg91kyKw38snzG/Oo+x8Pi15ca/Tl+7E7+NF/+6//NLPzZWWx56wxveUCZ5+1q+7du+rYzjxlBjojHBS55xQD/jR6NNA6J/EhT0WfGV7+fZmKJvpk/q58LGTEu3OPwy7shDWU5IZfkn84NnH/n0UmTvC82NjczqaUyhYUEHISZ4jNEwb34LfU8JhvFW6406DGEyMsF467V0E0YVz0SCsan+xCPIiGt9EPOb6MSnXWEwI2bC1Nxszxg2a45Ui8rBhBjSWiJ6SP+keXFNbCYuQopOtWvP3ha0+NGe6KjUrspIJ0lZO51ha9xSN3WClzaxzh03bZVJ3wBE2wRbAwCbcGE9nOACK/4Z8AxK7kAxqGlDJ3asBRugxJO/H1oMdAY57WHQwA9Z/6WqpT7WTsq8Zc++FQKvcG0kPfrkJW98RGtDMxODPzIAxU5YtzsC4YnYEKn7Re1eDq3EG8un9hvLYyx8zE/aSf5tvpPiZUzTp43RltudoPmt3/qtcgVA7hYxsXvh0LcYYzvNqJc4bmO1Pm7sNN7KS1/UfzPpe8EkkHh50H+VqY/r814+opmVP/wYdAdLz/q5+UB6tEhvXL///e9fyrSsa4wxR+REkHHLWI4mY5qxyrP9QMYS9AWHSTgpe15M//bNnpYksZrEM/FoeH5szCAMU3rGdCYzTBMGMdExeRa3NTXjCpOP+DpM7RambPG9cbOFyxMdcUsnTFw0pjNK35bFb16NQQUWwVLbqL8fXGLEEbfGSruJX7c7fA1C3sSoeu0/0dZPe9rTyhuNwS3aLHmLn/K50z7aizu8g5640apc4TUfLVK7pV26vTICK/EFvgqv13G5mYxLdVhKXclvteFtvPY55Y3Zk+LqnwQIfdFGfxv/bdZ97GMfWzQPJuxakzmWT8YH5WZc1u/quLDzM5YyxoP0Udhy+4kTLEvE5k+ejPzrMYFbWv5+6Mh4ro7GAGmNCfxTNnrQErqb4ub2sQslVdOGUWNXQUtMPBZWx+MWJ/GWY+KkS1zPGBMTM7X/Ss/ixqymzMTdCXbq1tarxqcePOo6ZcCOnbD2uc4rcWhECCg0II4U2q1vs5olHhsFvfHUWo6kY9ftWPuPlVOHd3dHoEUgvBp7jIfiF7vNI8+TwuPf2kkXOzTkmR2/1k5eddyV3CZi2gVLs7QKNvfTKNgDZmNt9nxNykeZTDtW6I/LCRUtre1zypvkn3D2WJx2PGifk34sbcIWxe5CSdXSNaNMYo5J/rKpw9JBq+wnOutya/dYfsk39sRM5yigxqGuVu0PN4MOPzaT8Bar+Nd5xT0pzHKLwdJpG8KJY+RulnU6Kksw9Vtb8ovd0pDnSeUlXbc7AhAIn7R2HdYilbhr9U+62KtJ3/Jzm7Z9rvO0TKJ/ET4st/hmD6FE39LHdu9ZIvcCUGuDk16+Ma0gEpqEZ1yt/ZJuOdqWizMp3VgZ8ol/aEne7Dav9rmOO+/uLpTMewv3+k0VAYMF7YlB0+Y03x2xb+QJT3hCOQJs47R9KH4RjlYiQJ5+ic8dY6D13A64Ce92R2CWCJhIY8KfeV7JXo5vs1/D3r0LL7ywnJzB45ZmbES178syqX7UzWIh0IWSxWrvXtspIuCNx8Y4a940Jz5KZpOb5Z2TTjpp6Q3P2nd7bHO5ATtvVEhNPHZt4t+FlRqV7l4rAuGj2G361j/P0UyKX/Ngwtt88DRtiNMkhHiXkdknYhPnueeeW+7piEC/nMaxzbc/zx8CXSiZvzbtNZoxAmMDr7VwAoqfJR43xPoCqTtsqKDtQTEAE1C8/dUDOXLH8kw16jBuRvpaeEncbncE1otAzWd1Hiv5C/drNSk2cdqXRavo1CBBxG3I7uU4c89FbE6lOW0yaWmmpqG7FweBLpQsTlv3mm4AgUkD81iW3iINxnkrdGzb5U4EF4MxLYp7cHJUudWiEDYIHa3gMlZW9+sIbASBCLZj/D0mbIzFq8sniNh75dSMI+/43tX4BHM3KruvI8deW41IaKnz6+7FQ6ALJYvX5r3GM0SgHbQ924NCSLHM443RGrqfa+jP2HMhng8I5pp86+irNW1Zq03X43UEagQ2wkc5LYO/bVSlJXSzqvuDfNrh9NNPLxvB3SFCCKmPt04SQib51zR39/wi0IWS+W3bXrNNRmBsMG393FMQLYqbZD/4wQ+Wq+4t6XibdOTYxWzZ5OcOgzGzkYlkLL/u1xFYDQJZkslpGcd27aeiDdm152IyQojlGZpAyzK0gPWpmfBt2y/assVjurawRWb+n7tQMv9t3Gs4BQQymMZOlpMGV/5ZgskAK009yFrm8aaZAd5pHupuN/o+5CEPKQIKdbfv6HjLJLgY5Os8Qke3OwKzQMDlY07K4FP39dD0EaTPP//8shRDkHZTqhuu3dlDmG6XZUIXfncHU/pQbOFtH6nDkr7bi4FAF0oWo517LWeEgMHTzya/SQLKaov2FkpAsVnWZwa8hdow67pp3zuyJm9zICElG2Zblfhqy+rxOgJjCEQTQhBxksy+EDxoudFV6ZYbbd7mDg8uJyhH2IggPSZsjPmhbZL/GN3db34Q6ELJ/LRlr8mcIeAt1VJPJgjfQPIJdJOEPSi0KSYI2hTX3xNQ/CYt+awHnkwqmSBiJ69MNp4T1tqJ2+07IwCnGAItLUIE22AYjZt48YvNr8bf81qMfGhA8JhfLYRkOca+p2OOOWZpOYa2Dn+1J23WUm6P2xFYDoEulCyHTg/rCGwjBPIWS1jxAchb9nzw76qrrirr+T7w6NIpgooPiuWjgyYQgko+XbCW6tST31g64e1k2k6qyaO2kxe/nT651fUaExDgETMWLiz+ufsjuARLcVIO9ySzXBx54x+8Qxvn5wNwPkJ3xRVXFEHXzcQPe9jDyp0hlmPsCcm+kNA4qezu3xGYFgJdKJkWkj2fjsCMEJg02ZhosuZPm+Iz6Ndff31Z86dut2nWxkNfm3b6wc+avxMQhBW/jU42aPNbTrgYo58fs9HyZwT5mrIdq18ySD3znPpOSjPJP+nZK8Wh/SCAsPGFW1PtByG42pTqvhBfvKVlczwdf+SbMn3fUo10d28FAl0o2QrUe5kdgRkgYLIyEXkLJqxQx9OkOJ7pqKa3YicjHEF2OoJtcsregHyRtL03ZQakzl2WKwkKkypca0MmxZnkTyjNaS5CiHZ3LNc+EFo0G6fdkWM/ks2o2pw2ZL/99iubprW3H01ahKVJZdX+6sqsJU2dvrs7Assh0IWS5dDpYR2BHYDApImNv0mLgMI2abld08R12223FWHlmmuuGW666abhtNNOKxOW48g20xJUolnJ5MXuZnMR0IYEDgIIgVM7+tGAWH6xz8jyi3akDTnllFOGE088sRwrp/2wjEfoSBvSjo2ZMUEjglbssXTdryMwbQS6UDJtRHt+HYEpImBS8kZav5VudJLIREdYyT6Dz372s2WSY1966aXlbZva34mfQw89tLxdu4cit3FaAvKzVyXLQCa+ms4pwjDXWdVCh7ax6ZRN6PDzrRjC5HXXXVeW6Gi9aDvq5RefMMjdNrkbZNI+opX4Z1J4/Ft7rhunV27TEehCyaZD3gvsCKweARNAjAm/fRZmAhvb05HJI+knxUt4lgMirHgzdzTZXgQCipM/loO8kRNQLAXQplgaIKDkqLLJ0RX6jD0K6CawmCTRuUgaFwIH3BkaDs9whbWj33fccUfRWrmW3fKaDcxOvsDKplOY2rgMZ1qPu9/97mXzafYFwZIQMtb+pdAV/tAWQTL2Ckl6cEdgpgh0oWSm8PbMOwLTRyCCSSuk8Dc5seOeRulZMjCZZgnB8oGJ1BX69i/wt5fBpEqIcceKidWyECFl9+7dRctiUjXRmlRpXSKgiBuNS+onTsJTD37ibqapBQvl0mTEEC4IcWjWHvCACyPMMplvIJn8CXawItjRgNBAEe58rNERb24XkO27776ljvBQ/9SZPWsT7CPAtoJKwlv/WdPV818cBLpQsjht3WvaEZg6AiYpk3ZsE7FfJnLLQYQa+1hMxLQDTgjZ3+Jm0EzwJuVjjz22TMLRLNgTQRsT4YvAZWOupQp+4pmoaRHWsjmXEEFwQOdKBu0ECx+ZU6Znezik9WwzsRt4PaNv1x7BggDGTXiyP4fWyDO60e9OGRokAocf4UM4u5uOwKIj0IWSReeAXv+OwCYgYDI3cRMkIsREw6B4bh8sNNHH2EdhP0WEFP6EHH6EIHGls9mT0LNaQzCgnSAI+E0yyiAoiEvDEyHIEVrpPLvHg0AVuglJ0WjwI3REs8OOe1KZ3b8jsOgIdKFk0Tmg178jsE0RMOkTZggHMQQbQg1j0hcnWpnEWckmGBAWVmOUEU1GBKGu0VgNcj1OR2B9CHShZH249VQdgY5AR6Aj0BHoCEwZgcm6yykX1LPrCHQEOgKzQqDWpqy2jPWkWW3ePV5HoCOwPgS6ULI+3HqqjkBHYBUImPjrnyStMFA/13Fr/5WKyp6OleLV4atNEzpi13lwx7+2uS0ttaaN04b3547AoiPQhZJF54Be/47ADBHIJKyI7AFhx58dt0k8YbV/TV7tn3R1eO1OeOw6bLXupA1tETTiHzv+seOvnLhjr7bsHq8jsIgI9D0li9jqvc4dgW2AgEk62oq4Y4e8diJP/IRHCIgwwz/uNm6dd+1OXmN2nUfSKNPpmzyPpeO3UvikdN2/I7DICHShZJFbv9e9I9AR6Ah0BDoC2wiBvnyzjRqjk9IR6Ah0BDoCHYFFRqALJYvc+r3uHYGOQEegI9AR2EYIdKFkGzVGJ6Uj0BHoCHQEOgKLjEAXSha59XvdOwIdgY5AR6AjsI0Q+F/TrmBqX0ih0AAAAABJRU5ErkJggg==" alt="" />
可以想像得到,如果把指针和数组、函数、结构体层层组合起来可以构成非常复杂的类型,下面看几个复杂的声明。
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum,sighandler_t handler);
这个声明来自signal(2)。sighandler_t是一个函数指针,它所指向的函数带一个参数,返回值为void,signal是一个函数,它带两个参数,一个int参数,一个sighandler_t参数,返回值也是sighandler_t参数。如果把这两行合成一行写,就是:
void (*signal(int signum, void(*handler)(int)))(int);
在分析复杂声明时,要借助typedef把复杂声明分解成几种基本形式:
T *p; /*p是指向T类型的指针。*/ T a[]; /*a是由T类型的元素组成的数组,但有一个例外,如果a是函数的形参,则相当于T *a; */ T1 f(T2, T3...); /*f是一个函数,参数类型是T2、T3等等,返回值类型是T1。*/
我们分解一下这个复杂声明:
int (*(*fp)(void *))[10];
1、fp和*号括在一起,说明fp是一个指针,指向T1类型:
typedef int (*T1(void *))[10];
T1 *fp;
2、T1应该是一个函数类型,参数是void*,返回值是T2类型:
typedef int (*T2)[10];
typedef T2 T1(void *);
T1 *fp;
3、T2和*号括在一起,应该也是个指针,指向T3类型:
typedef int T3[10];
typedef T3 *T2;
typedef T2 T1(void *);
T1 *fp;
显然,T3是一个int数组,由10个元素组成。
如果我们的声明的结构体和联合体不在程序的其他部分使用,那么头文件可以声明不带该内容的标记。在程序的其他部分可以使用指向不完全结构或联合的指针,只要不去使用它的成员就不会出现任何问题。
频繁使用的不完全类型是未指定长度的外部数组。通常情况下,我们要使用某个数组的内容,不需要知道该数组的范围。
C语言的本质(14)——不完全类型和复杂声明的更多相关文章
- C语言的本质(7)——C语言运算符大全
C语言的本质(7)--C语言运算符大全 C语言的结合方向 C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左).例如算术运算符的结合性是自左至右,即先左后右.如有表达式 x- ...
- C语言的本质(4)——浮点数的本质与运算
C语言的本质(4)--浮点数的本质与运算 C语言规定了3种浮点数,float型.double型和long double型,其中float型占4个字节,double型占8个字节,longdouble型长 ...
- C语言的本质(28)——C语言与汇编之用汇编写一个Helloword
为了更加深入理解C语言的本质,我们需要学习一些汇编相关的知识.作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但是非常重要.因为它能够完成许多其它语言所无法完成的功能.就拿 Linux 内核 ...
- C语言的本质(15)——C语言的函数接口入门
C语言的本质(15)--C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能. 函数接口通过函数名,参数和返 ...
- C语言的本质(3)——整数的本质与运算
C语言的本质(3)--整数的本质与运算 计算机存储的最小单位是字节(Byte),一个字节通常是8个bit.C语言规定char型占一个字节的存储空间.如果这8个bit按无符号整数来解释,则取值范围是0~ ...
- C语言的本质(30)——C语言与汇编之ELF文件格式
ELF(Executable and Linking Format)文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,ELF是一种对象文件的格式,用于定义不同类型的对象文件(Obj ...
- C语言的本质(24)——C标准库之输入与输出(下)
4.读写二进制文件 C语言还提供了用于整块数据的读写函数.可用来读写一组数据,如一个数组元素,一个结构变量的值等. 读数据块函数调用的一般形式为: fread(buffer,size,count,fp ...
- C语言的本质(19)——预处理之一:宏定义
我们在写代码时已多次使用过以"#"号开头的预处理命令.如包含命令#include,宏定义命令#define等.在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为 ...
- C语言的本质(18)——函数的可变参数
一般而言,在设计函数时会遇到许多数学和逻辑操作,是需要一些可变功能.例如,计算数字串的总和.字符串的联接或其它操作过程. 实现一个函数,要求在函数中计算传入的所有参数之和,并输出到屏幕上.这个函数实现 ...
随机推荐
- 七、适配器(Adapter)模式--结构模式(Structural Pattern)
适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作. 类的 Adapter模式的结构: 类适配器类图: 由图中可以看出,Adaptee ...
- 基于stm32f103zet6的FAT16文件系统学习1(初识FAT16)
有了之前读写block的基础之后,准备弄个文件系统,之前没有接触过这东西,所以有很多都晕晕的,但是看到fat的源代码之后还是挺有信心的,因为之前一直过uboot,所以这个文件当然是小巫见大巫了.首先来 ...
- cf472C Design Tutorial: Make It Nondeterministic
C. Design Tutorial: Make It Nondeterministic time limit per test 2 seconds memory limit per test 256 ...
- bzoj1675 [Usaco2005 Feb]Rigging the Bovine Election 竞选划区
Description It's election time. The farm is partitioned into a 5x5 grid of cow locations, each of wh ...
- php header调试,yii2打log
1 通过header来强制刷新view:在页面最开始添加 <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); h ...
- ObjectOutputStream 追加写入读取错误
摘自http://blog.csdn.net/mitkey/article/details/50274543 问题描述: 用类ObjectOutputStream向文件写读对象时,碰到一个问题:新建一 ...
- 利用FreeMarker静态化网页
1.介绍-FreeMarker是什么 模板引擎:一种基于模板的.用来生成输出文本的通用工具 基于Java的开发包和类库 2.介绍-FreeMarker能做什么 MVC框架中的View层组件 Html页 ...
- iOS加密个人见解
说说常用的加密方式 1.单向加密,譬如 md5 .SHA 但是这种单向加密安全性也不高了,现在cpu.gpu都那么强大,运算速度很快,彩虹表 撞库 还是容易被攻破的. 如果非得用的话,可以md5加盐, ...
- 记录一个原因不明的段错误(libxml2 proc activemq的三角恋)
又碰到了令人头疼的段错误,但是这次,虽然最终找到了出自何处,但是还是不明白究竟是为何. 最后将程序简化,贴上来,希望高人能指点一下. memt.pc: #include <libxml/pars ...
- linux内核中驱动开发常见的相似多态
#include<stdio.h> #include<stdlib.h> struct test { char name[20]; void (*func)(char *); ...